This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
binary compatibility issues
- From: Adam Reid <areid at lumerical dot com>
- To: libc-alpha at sources dot redhat dot com
- Date: Thu, 6 Oct 2005 01:16:29 -0700
- Subject: binary compatibility issues
Hi,
I am developing applicaitons on a glibc-2.3.4/gcc-3.4.3 based system. I would
like to make the binaries compatible with systems based on older versions of
glibc, perhaps as old as 2.2.4. When I compile my application against glibc-
2.3.4, I get dependencies on about a dozen symbols that have version number
GLIBC_2.3 or greater. Using nm, I can see that these symbols also have versions
<GLIBC_2.3 within the glibc library. Can anyone suggest a way that I can remove
the dependency on any GLIBC_2.3.x, so my application only requires
GLIBC_2.2.4?
I tried to build glibc-2.2.4 with gcc-3.4.3 so I can link against that instead,
but the configure script informed me that building that version of glibc with a
gcc 3.x compiler will make binaries that are not compatible with other versions.
I read about symbol version scripts that can be passed to the linker, but I
can't figure out how to use one to force symbols in my object files to link
against particular versions of symbols in the glibc library. I realize that the
symbol versions have changed for a good reason and I probably shouldn't be
trying to do this, however, it apears that the functions that I am calling (eg
pthread_cond_init) have not had their declarations changed so the older
versions might work.
Thanks in advance for any help you can provide!
Adam