A build is failing with the error cannot find <library> for libraries that are, in fact present on the system. I made a very simple test bed, consisting of the empty file conftest.c, which I attempt to compile and link with various libraries. All the libraries are in /usr/lib64. Sometimes the compilation fails with undefined reference to `main' which is what I would expect, but often it fails with cannot find -l<whatever> I have no idea what's happening. Can anyone explain? Here's an example of what's going on. This is a listing of some files in /usr/lib64: $ ll libICE.so* libgd.so* libkate.so* libkblog.so.* lrwxrwxrwx. 1 root root 15 Nov 9 18:28 libICE.so -> libICE.so.6.3.0* lrwxrwxrwx. 1 root root 15 Nov 9 08:02 libICE.so.6 -> libICE.so.6.3.0* -rwxr-xr-x. 1 root root 98328 Jun 21 09:37 libICE.so.6.3.0* lrwxrwxrwx. 1 root root 14 Nov 9 08:14 libgd.so.2 -> libgd.so.2.0.0* -rwxr-xr-x. 1 root root 278048 Oct 26 20:15 libgd.so.2.0.0* lrwxrwxrwx. 1 root root 16 Nov 9 08:06 libkate.so.1 -> libkate.so.1.2.1* -rwxr-xr-x. 1 root root 75640 Mar 7 2011 libkate.so.1.2.1* lrwxrwxrwx. 1 root root 17 Nov 13 09:03 libkblog.so.4 -> libkblog.so.4.7.0* -rwxr-xr-x. 1 root root 312960 Nov 4 10:05 libkblog.so.4.7.0* And here's a attempt to compile the dummy linking to them: $ gcc -o conftest -g -O2 conftest.c -lICE /usr/lib/gcc/x86_64-redhat-linux/4.6.2/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status 1034 wview-5.19.0 $ gcc -o conftest -g -O2 conftest.c -lgd /usr/bin/ld: cannot find -lgd collect2: ld returned 1 exit status 1035 wview-5.19.0 $ gcc -o conftest -g -O2 conftest.c -lkate /usr/bin/ld: cannot find -lkate collect2: ld returned 1 exit status 1036 wview-5.19.0 $ gcc -o conftest -g -O2 conftest.c -lkblog /usr/lib/gcc/x86_64-redhat-linux/4.6.2/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: ld returned 1 exit status System information: Fedora-16 with all updates running on 4 cpu x86_64 hardware $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.6.2/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC) $ ld -v GNU ld version 2.21.53.0.1-2.fc16 20110716 -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org