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

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



Reply to: