bug-gnulib
[Top][All Lists]
Advanced

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

Re: [PATCH] Fix arpa_inet bugs found when installing coreutils 7.2 on So


From: Bruno Haible
Subject: Re: [PATCH] Fix arpa_inet bugs found when installing coreutils 7.2 on Solaris 8.
Date: Fri, 3 Apr 2009 13:27:06 +0200
User-agent: KMail/1.9.9

Hello Paul,

> I installed the following patch to gnulib, to fix the following
> symptoms when trying to build coreutils 7.2 on Solaris 8:
> 
> inet_ntop.c:73: error: conflicting types for 'inet_ntop'
> /usr/include/arpa/inet.h:55: error: previous declaration of 'inet_ntop' was 
> here
> make[4]: *** [inet_ntop.o] Error 1

The assumption in the 'inet_ntop' module is that if a platform provides the
inet_ntop function, it declares it, and vice versa. This is true for Solaris 8.
The actual problem is that Solaris 8 defines this function in libnsl, but
the code in m4/arpa_inet.m4:
   AC_REPLACE_FUNCS([inet_ntop])
expects to see this function in libc.

There is no point for gnulib to redefine a function that is present in libnsl
(and hopefully working). IMO the fix is therefore to add a 'Link' section to
the module description module/inet_ntop, and determine its value, say,
INET_NTOP_LIB, in the gl_INET_NTOP macro.

Btw, your patch was incomplete:
1) It does the redefinition
     #define inet_ntop rpl_inet_ntop
   unconditionally, also on platforms on which the inet_ntop function exists
   in libc and is not replaced by m4/inet_ntop.m4. This will lead to link
   errors.
   The fix would have been to add a
     #if address@hidden@
   conditional.
2) When you removed the address@hidden@ conditional, the definition
   of this macro in m4/inet_ntop.m4, m4/arpa_inet_h.m4, modules/arpa_inet
   could also be removed.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]