
On Mon, May 13, 2013 at 09:40:29PM +1000, Allan Duncan wrote:
I'm trying to compile gnuplot 4.6.1, but it breaks on a library item being linked - file not found. Except it is clearly there. Details:
[src]> c++ -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -L/usr/lib -o gnuplot alloc.o axis.o binary.o breaders.o color.o command.o contour.o datafile.o dynarray.o eval.o fit.o gadgets.o getcolor.o graph3d.o graphics.o help.o hidden3d.o history.o internal.o interpol.o matrix.o misc.o mouse.o parse.o plot.o plot2d.o plot3d.o pm3d.o readline.o save.o scanner.o set.o show.o specfun.o standard.o stats.o stdfn.o tables.o tabulate.o term.o time.o unset.o util.o util3d.o variable.o version.o -lcurses -ledit -lz -lgd -lXpm -lX11 -ljpeg -lfontconfig -lfreetype -lpng12 -lz -lm -ljpeg -llua -lm -ldl -lm /usr/bin/ld: cannot find -lpng12 collect2: ld returned 1 exit status [src]>
[src]> ls -l /usr/lib/libpng12.so.0 lrwxrwxrwx 1 root root 18 May 13 21:09 /usr/lib/libpng12.so.0 -> libpng12.so.0.49.0 [src]>
OK, there's libpng15 there also, change the 2 to a 5 in the above, and LO! the link works. Maybe libpng12 didn't get picked up by ldconfig:
[/etc]> strings ld.so.cache | grep libpng libpng15.so.15 /usr/lib/libpng15.so.15 libpng15.so /usr/lib/libpng15.so libpng12.so.0 /usr/lib/libpng12.so.0 libpng.so.3 /usr/lib/libpng.so.3 [/etc]>
Well that looks good to me.
Where to next? _______________________________________________
Things to look for include - libpng12.so.0 is 32-bit and you need 64 (or vice versa) - libpng12.so.0 is libc5 - /usr/lib/libpng12.so does not exist - /usr/lib/libpng12.so points to something else The output you posted suggests to me the 3rd option above. ld does not use ld.so.conf: that is runtime only. ld needs .so files Cheers ... Duncan. -- Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html