[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