--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: No weak symbol for res_* on amd64.
- From: Kurt Roeckx <Q@ping.be>
- Date: Sun, 4 Apr 2004 23:50:15 +0200
- Message-id: <20040404215015.GA30664@ping.be>
Package: libc6
Version: 2.3.2.ds1-11
It seems the weak symbols for res_* are missing on amd64.
in resolv/res_data.c there is:
#if SHLIB_COMPAT(libresolv, GLIBC_2_0, GLIBC_2_2)
weak_alias (__res_query, res_query);
It seems the "SHLIB_COMPAT(libresolv, GLIBC_2_0, GLIBC_2_2)"
returns false for some reason. If I remove that #if then I
properly get the weak symbols.
Kurt
--- End Message ---
--- Begin Message ---
- To: Kurt Roeckx <Q@ping.be>, 242122-done@bugs.debian.org
- Subject: Re: Bug#242122: No weak symbol for res_* on amd64.
- From: Aurelien Jarno <aurelien@aurel32.net>
- Date: Sun, 18 Feb 2007 22:59:39 +0100
- Message-id: <20070218215938.GA8256@amd64.aurel32.net>
- In-reply-to: <20040405152340.GA24560@nevyn.them.org>
- References: <20040404215015.GA30664@ping.be> <20040404222257.GA5907@nevyn.them.org> <20040404223229.GA30901@ping.be> <20040404232618.GA6950@nevyn.them.org> <20040405063714.GA31770@ping.be> <20040405152340.GA24560@nevyn.them.org>
On Mon, Apr 05, 2004 at 11:23:41AM -0400, Daniel Jacobowitz wrote:
> On Mon, Apr 05, 2004 at 08:37:14AM +0200, Kurt Roeckx wrote:
> > On Sun, Apr 04, 2004 at 07:26:18PM -0400, Daniel Jacobowitz wrote:
> > > On Mon, Apr 05, 2004 at 12:32:29AM +0200, Kurt Roeckx wrote:
> > > >
> > > > It's a problem because configure doesn't find it anymore. It
> > > > doesn't include resolv.h so it doesn't know that it gets changed
> > > > to __res_*.
> > >
> > > That's a bug in the affected configure scripts, then. I believe
> > > autoconf 2.5x is capable of handling this correctly.
> >
> > Openssh 3.8p1-2 is using autoconf 2.52 and has the problem, krb5
> > 1.3.2 is even using 2.59.
> >
> > krb5 for instance returns this:
> > checking for res_search... no
> > checking for res_search in -lresolv... no
> > configure: error: Cannot find resolver support routine res_search in -lresolv.
> > make: *** [configure-stamp] Error 1
> >
> > The test program looks like:
> > | char res_search ();
> > | int
> > | main ()
> > | {
> > | res_search ();
> > | ;
> > | return 0;
> > | }
> >
> > Without resolv.h it will not find __res_search, with resolv.h it
> > will fail to compile because of "too few arguments to function".
>
> Then write an AC_COMPILE_IFELSE test for it. This is a fundamental
> limitation of the way autoconf tests for functions that no standard
> requires to be external names - like this one.
>
As Daniel explained, this is not a bug in the glibc. This symbols are
there on some architectures for compatibility reasons with previous
versions. Those versions have never existed on x86_64.
Closing the bug.
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
--- End Message ---