bug-gnulib
[Top][All Lists]
Advanced

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

Re: Build + test problems on OpenSolaris (aka Solaris 11)


From: Bruno Haible
Subject: Re: Build + test problems on OpenSolaris (aka Solaris 11)
Date: Tue, 3 Nov 2009 00:55:37 +0100
User-agent: KMail/1.9.9

Simon Josefsson wrote:
> The problem indicate a sub-optimal approach in gnulib's inet_ntop
> module.  It causes link failures due to missing -lnsl on Solaris.

Indeed, Paul Eggert was already aware of it; see his ChangeLog entry in [1].

[1] http://lists.gnu.org/archive/html/bug-gnulib/2009-04/msg00080.html

> How about this patch?  Not tested on Solaris systems, but posted for
> review of my general idea.

It's the right approach. But the name of the variable is not well chosen:
There are several functions defined in libnsl, therefore several modules
may want to define LIBNSL to nonempty when the particular function needs
to be pulled in from libnsl. These variables would clash.

I'm committing the following:


2009-11-02  Simon Josefsson  <address@hidden>
            Bruno Haible  <address@hidden>

        * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
        * modules/inet_ntop (Link): New section.
        Reported by Boyan Kasarov <address@hidden>.

--- m4/inet_ntop.m4.orig        2009-11-03 00:45:54.000000000 +0100
+++ m4/inet_ntop.m4     2009-11-03 00:45:00.000000000 +0100
@@ -1,4 +1,4 @@
-# inet_ntop.m4 serial 9
+# inet_ntop.m4 serial 10
 dnl Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -11,17 +11,17 @@
 
   gl_REPLACE_ARPA_INET_H
 
-  dnl The AC_SEARCH_LIBS call is a hack to persuade the Solaris 8 linker to
-  dnl find inet_ntop.
-  dnl
-  dnl It is the responsibility of gl_INET_NTOP's caller to arrange for
-  dnl -lnsl if it is needed.  Normally -lnsl is not needed on Solaris 8,
-  dnl since inet_ntop is needed only by getaddrinfo, and getaddrinfo
-  dnl isn't built on Solaris 8.
+  dnl Most platforms that provide inet_ntop define it in libc.
+  dnl Solaris 8..10 provide inet_ntop in libnsl instead.
   gl_save_LIBS=$LIBS
   AC_SEARCH_LIBS([inet_ntop], [nsl], [],
     [AC_REPLACE_FUNCS([inet_ntop])])
   LIBS=$gl_save_LIBS
+  INET_NTOP_LIB=
+  if test "$ac_cv_search_inet_ntop" != "none needed"; then
+    INET_NTOP_LIB="$ac_cv_search_inet_ntop"
+  fi
+  AC_SUBST([INET_NTOP_LIB])
 
   gl_PREREQ_INET_NTOP
 ])
--- modules/inet_ntop.orig      2009-11-03 00:45:54.000000000 +0100
+++ modules/inet_ntop   2009-11-03 00:40:45.000000000 +0100
@@ -25,5 +25,8 @@
 Include:
 <arpa/inet.h>
 
+Link:
+$(INET_NTOP_LIB)
+
 Maintainer:
 Yoann Vandoorselaere, glibc




reply via email to

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