On Thu, Nov 16, 2006 at 01:36:00PM +0000, T. Horsnell wrote: > We have an application (for which we no longer have the source) > which was compiled against glibc-2.0.0. This worked OK on systems > up to and including FC4, but on FC5 and above it now complains: > > relocation error: /scr0/superfam/binary/hmmscore_3.2: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference > > Is this a glibc problem or are we expecting too much of upward-compatibilty? For glibc 2.0 compatibility, you need LinuxThreads and that was dropped in FC5. FC5+ glibc is only backwards compatible with glibc 2.1+ (correctly) compiled and linked programs and binaries. But the above error is not from a binary which has been compiled/linked against glibc 2.0, but just a buggy app which has been linked against glibc 2.1+ (forgetting to include <errno.h> when accessing errno). You can still unpack somewhere some older glibc and run it as /whatever/glibc/2.3/lib/ld-linux.so.2 --library-path /whatever/glibc/2.3/lib/ /scr0/superfam/binary/hmmscore_3.2 but be warned that you probably need your old copies of all shared libraries the program uses, not just glibc, because all shared libraries in FC5+ require stack protector etc. symbols which are unavailable in LinuxThreads. Jakub