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


_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to