Bug#242122: No weak symbol for res_* on amd64.
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. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#242122: No weak symbol for res_* on amd64.
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". Kurt -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#242122: No weak symbol for res_* on amd64.
On Mon, Apr 05, 2004 at 12:32:29AM +0200, Kurt Roeckx wrote: > On Sun, Apr 04, 2004 at 06:22:57PM -0400, Daniel Jacobowitz wrote: > > On Sun, Apr 04, 2004 at 11:50:15PM +0200, Kurt Roeckx wrote: > > > 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. > > > > Why do you believe the weak symbols should be there? > > 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_*. > > I see 2 ways of fixing this, either fix all packages that depend > on libresolv or add the weak symbols. > > > PS: I've also found this post: > http://mail.gnu.org/archive/html/bug-hurd/2002-05/msg00256.html That's a bug in the affected configure scripts, then. I believe autoconf 2.5x is capable of handling this correctly. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#242122: No weak symbol for res_* on amd64.
On Sun, Apr 04, 2004 at 06:22:57PM -0400, Daniel Jacobowitz wrote: > On Sun, Apr 04, 2004 at 11:50:15PM +0200, Kurt Roeckx wrote: > > 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. > > Why do you believe the weak symbols should be there? 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_*. I see 2 ways of fixing this, either fix all packages that depend on libresolv or add the weak symbols. PS: I've also found this post: http://mail.gnu.org/archive/html/bug-hurd/2002-05/msg00256.html Kurt -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#242122: No weak symbol for res_* on amd64.
On Sun, Apr 04, 2004 at 11:50:15PM +0200, Kurt Roeckx wrote: > 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. Why do you believe the weak symbols should be there? -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#242122: No weak symbol for res_* on amd64.
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 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]