Re: Achieving binary compatibility for 7/8/9
> Have you run a debugger to see _why_ gethostbyname is failing?
The program I'm testing is:
#include <netdb.h>
#include <stdio.h>
int main()
{
struct hostent * hp;
if ( (hp = gethostbyname("localhost")) == NULL )
printf("gethostbyname failed\n");
return 0;
}
>From gdb:
(gdb) run
Starting program: /root/a.out
Program received signal SIGSEGV, Segmentation fault.
0x08080c09 in _dl_relocate_object ()
(gdb) bt
#0 0x08080c09 in _dl_relocate_object ()
#1 0x080758ef in dl_open_worker ()
#2 0x0806248b in _dl_catch_error ()
#3 0x08075ae3 in _dl_open ()
#4 0x0806353e in do_dlopen ()
#5 0x0806248b in _dl_catch_error ()
#6 0x08063431 in __libc_dlopen ()
#7 0x0805c682 in __nss_lookup_function ()
#8 0x0805cd0a in __nss_lookup ()
#9 0x0805d4f3 in __nss_hosts_lookup ()
#10 0x0804d35c in gethostbyname_r ()
#11 0x0804d157 in gethostbyname ()
#12 0x0804820c in main ()
#13 0x0804830a in __libc_start_main ()
> I see absolutely no reason for a statically linked binary to fail on any
> system, unless it is using network communication whose protocol has
> changed or a config file whose format has changed.
I also wished this was the case, but it seems like it doesn't work if the
static binaires uses NSS. Take a look at
http://lists.debian.org/debian-glibc/2002/debian-glibc-200210/msg00093.html:
From: Roland McGrath <roland@xxxxxxxxxx>
...
I'm afraid you are SOL if you want to use stock glibc 2.3 with those old
static binaries.
...
> Are you sure you aren't LD_PRELOADing anything?
Yes.
--
Peter Åstrand www.thinlinc.com
Cendio Systems www.cendio.se
Teknikringen 3 Phone: +46-13-21 46 00
583 30 Linköping
_______________________________________________
Redhat-devel-list mailing list
Redhat-devel-list@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/redhat-devel-list
[Kernel Newbies]
[Red Hat General]
[Fedora]
[Red Hat Install]
[Linux Kernel Development]
[Yosemite News]