bug-gnulib
[Top][All Lists]
Advanced

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

inet_pton on Solaris 7


From: Bruno Haible
Subject: inet_pton on Solaris 7
Date: Mon, 19 Sep 2011 03:45:22 +0200
User-agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; )

On Solaris 7, I'm getting a link error

cc -O  -g   -o test-connect test-connect.o libtests.a ../gllib/libgnu.a 
libtests.a  -lsocket  
ild: (undefined symbol) inet_pton -- referenced in the text segment of 
test-connect.o
*** Error code 5

because inet_pton is declared in the system's <arpa/inet.h> but gnulib has not
found the function in any library. The reason is that on that version of
Solaris, it's found in libresolv, not in libnsl. Likewise for inet_ntop.

This patch fixes it.


2011-09-18  Bruno Haible  <address@hidden>

        inet_ntop, inet_pton: Look for it also in libresolv.
        * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
        libnsl, search for it in libresolv.
        * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
        Needed on Solaris 7.

--- m4/inet_ntop.m4.orig        Mon Sep 19 03:41:03 2011
+++ m4/inet_ntop.m4     Mon Sep 19 03:20:20 2011
@@ -1,4 +1,4 @@
-# inet_ntop.m4 serial 17
+# inet_ntop.m4 serial 18
 dnl Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -13,6 +13,7 @@
 
   dnl Most platforms that provide inet_ntop define it in libc.
   dnl Solaris 8..10 provide inet_ntop in libnsl instead.
+  dnl Solaris 2.6..7 provide inet_ntop in libresolv instead.
   dnl Native Windows provides it in -lws2_32 instead, with a declaration in
   dnl <ws2tcpip.h>, and it uses stdcall calling convention, not cdecl
   dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it).
@@ -32,7 +33,7 @@
     fi
   else
     gl_save_LIBS=$LIBS
-    AC_SEARCH_LIBS([inet_ntop], [nsl], [],
+    AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [],
       [AC_CHECK_FUNCS([inet_ntop])
        if test $ac_cv_func_inet_ntop = no; then
          HAVE_INET_NTOP=0
--- m4/inet_pton.m4.orig        Mon Sep 19 03:41:03 2011
+++ m4/inet_pton.m4     Mon Sep 19 03:19:44 2011
@@ -1,4 +1,4 @@
-# inet_pton.m4 serial 15
+# inet_pton.m4 serial 16
 dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -13,6 +13,7 @@
 
   dnl Most platforms that provide inet_pton define it in libc.
   dnl Solaris 8..10 provide inet_pton in libnsl instead.
+  dnl Solaris 2.6..7 provide inet_pton in libresolv instead.
   dnl Native Windows provides it in -lws2_32 instead, with a declaration in
   dnl <ws2tcpip.h>, and it uses stdcall calling convention, not cdecl
   dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it).
@@ -32,7 +33,7 @@
     fi
   else
     gl_save_LIBS=$LIBS
-    AC_SEARCH_LIBS([inet_pton], [nsl], [],
+    AC_SEARCH_LIBS([inet_pton], [nsl resolv], [],
       [AC_CHECK_FUNCS([inet_pton])
        if test $ac_cv_func_inet_pton = no; then
          HAVE_INET_PTON=0

-- 
In memoriam Bernhard Bästlein <http://en.wikipedia.org/wiki/Bernhard_Bästlein>



reply via email to

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