Re: Achieving binary compatibility for 7/8/9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


> 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

  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?


Peter Åstrand
Cendio Systems
Teknikringen 3		Phone: +46-13-21 46 00
583 30 Linköping

Redhat-devel-list mailing list

[Index of Archives]     [Kernel Newbies]     [Red Hat General]     [Fedora]     [Red Hat Install]     [Linux Kernel Development]     [Yosemite News]

  Powered by Linux