[openbeosnetteam] Re: libnet fix

> > > You mean he's defined by current/headers/posix/resolv.h, and
> > > declared in current/src/kits/network/libnet/res_init.c, right?
> >
> > No, that's not it. In the header it's defined, (extern), in the
> > implementation it's declared. And there's nowhere else a _res in the
> > source of libnet.
> 
> _res is (well, was, after your last commits) declared in res_init.c:
> 
> [...]
> 
> /*
>  * Resolver state default settings.
>  */
> 
> struct __res_state _res
> # if defined(__BIND_RES_TEXT)
>         = { RES_TIMEOUT, }      /* Motorola, et al. */
> # endif
>         ;
> #ifdef INET6
> struct __res_state_ext _res_ext;
> #endif /* INET6 */
> 
> [...]

Yes, but that's the point. The _res in the header points to that _res.

> > > Can you tell me on which target this error, well, warning, raise?
> >
> > This is during link time.
> 
> Yes, but of what OBOS networking kit part?
> ifconfig? ping? libnet.so itself?

Any OBOS after doing a 'jam install-networkign' would give this error.

> > During link time the linker looks up the undefined
> > references and finds _ref in res_init.o. However, a library that
> > libnet.so is linked against, also has a _ref. The size of the _ref
in
> > res_init.o is 512 bytes. The size of the other _ref is 376.
> 
> That make sense.
> 
> > According to
> > the documentation, the linker then chooses the largest, which would
> > comply with the ours, however, in our case the linker chooses to
keep
> > the reference undefined (and doesn't link it to any _res).
> 
> Which is strange.
> Do you install the so-called fixed ld linker, or are you still using
> the BeOS R5 one?

The fixed one, I'm sure I once made a boot floppy with it. 




Other related posts: