On Tue, 29 Apr 2008 13:22:06 -0400 Michael B Allen <[EMAIL PROTECTED]> wrote:
> Hello, > > I'm trying to run something linked with libldap on a glibc-2.5 system > on a glibc-2.3 linux system and the loader compains about not having > the right versions of sys_errlist and sys_nerr. > > Why does libldap need these symbols? > > $ objdump -T libldap-2.3.so.0 | grep sys_ > 0000000000000000 DO *UND* 0000000000000004 GLIBC_2.4 sys_nerr > 0000000000000000 DO *UND* 0000000000000420 GLIBC_2.4 sys_errlist > > >From looking at config.log, configure finds strerror just fine. > > Is there any way to get rid of these symbols? > > Of all the symbols in all the libraries that make up my project these > are the only two GLIBC_2.4 or above symbols. If I can get rid of them, > my code should run on the glibc-2.3 system. I've narrowed it down to the TRACE macro in libraries/libldap/os-ip.c. If I #define TRACE as nothing my code loads ok on the glibc-2.3 system and all is well. My guess is it looks like sock_errstr is evaluating to STRERROR and somehow that macro is using the offending symbols. Mike
