[mapserver-users] Problem with libjpeg
Alan Hale
alan.hale at btclick.com
Mon Oct 19 07:46:37 PDT 2009
Andy Colson wrote:
>> Andy Colson wrote:
>>> First you need to find libjpeg. one way is:
>>>
>>> ldconfig -v|grep jpeg
>>>
>>> if not there, try a few common places:
>>>
>>> ls /usr/lib/libjpeg*
>>> ls /usr/local/lib/libjpeg*
>>>
>>> or if you have locate/slocate then try:
>>> slocate libjpeg.so.7
>>>
>>> Second, if it seemed to compile ok, then it found the .h files
>>> (which are probably in /usr/include or /usr/local/include), but when
>>> you run it, its looking for libjpeg.so, and specifically,
>>> libjpeg.so.7 which is probably a symlink.
>>>
>>>
>>> My guess is the lib is in /usr/local/lib, but you dont have that lib
>>> in /etc/ld.so.conf.
>>> Probably just need to add that path to the file and then run
>>> ldconfig once.
>>>
>>> -Andy
>>>
> Alan Hale wrote:
>> Many thanks Andy
>>
>> I had already determined (I'm sorry I wasn't clear) that libjpeg.so.7
>> was present in /usr/local/lib/ and tried config
>> --with-jpeg=/usr/local/lib/ and still got the same error. The .h
>> files are in both /usr/include/ and /usr/local/include/
>>
>> ldconfig is new to me and I get "command not found" on my system
>> (CentOS 5 by the way).
>>
>> /etc/ld.so.conf just has one line to include ld.so.conf.d/*.conf and
>> when I look in ld.so.conf.d there is only one file: mysql-i386.conf
>>
>> Due to my inexperience, I'm sure, I remain very confused.
>>
>> Thanks again
>>
>> Alan
>>
>>
>>
>>
>
> If you post your responses at the bottom, it'll keep messages much
> more readable.
>
> ldconfig is probably in /sbin, and you'll need to be root to run it.
>
> The compiler found the .h files and all the other stuff it needed to
> compile because it was given paths to /usr/local/*, but when you run
> the program it needs to find the shared lib's (*.so).
> /etc/ld.so.conf tells the runtime where to search for shared lib's.
>
> Your ldconfig will look in each file in /etc/ld.so.conf.d/ and read
> all the paths in each file, and look in each path. (one file could
> contain multiple paths) Create a new file in there (call it
> local.conf, or user.conf, or bob.conf, or whatever).
>
> If you 'cat /etc/ld.so.conf.d/mysql-i386.conf' you'll probably see one
> line:
> /usr/lib/mysql
>
> In the same manner create a local.conf with just one line:
> /usr/local/lib
>
> then as root run:
> ldconfig
>
> (or /sbin/ldconfig)
>
> (root usually has /sbin in its path, where a normal user does not).
>
>
> -Andy
>
Thank you Andy for the very clear and patient explanation. Following
your instructions seems to have done the trick - and I've learnt some
useful information along the way.
Regards
Alan
__________ Information from ESET Smart Security, version of virus signature database 4522 (20091019) __________
The message was checked by ESET Smart Security.
http://www.eset.com
More information about the MapServer-users
mailing list