[Top][All Lists]
[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: |
Paul Eggert |
Subject: |
Re: [PATCH] Fix arpa_inet bugs found when installing coreutils 7.2 on Solaris 8. |
Date: |
Fri, 03 Apr 2009 13:32:46 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) |
Bruno Haible <address@hidden> writes:
> 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.
Thanks for catching that. I looked into it a bit more, and discovered
that not only do we not need to build inet_ntop on Solaris 8, we don't
even need the system's inet_ntop, nor do we need to link with -lnsl.
This stuff was included only as a dependency to getaddrinfo, but that
function isn't needed or built on Solaris 8.
I worked around the problem in the following different, and I hope
simpler way, though it is a bit hacky. This time I remembered to push
it, anyway....
-----
* modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
* m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
for Solaris 8. This is a bit of a hack, as it means it's the
caller's responsibility to add -lnsl if needed, but most likely it
won't be needed since only getaddrinfo uses this and getaddrinfo
isn't needed on Solaris 8.
---
ChangeLog | 8 ++++++++
m4/inet_ntop.m4 | 15 +++++++++++++--
modules/arpa_inet | 2 +-
3 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2fdb6dd..7415f5b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2009-04-03 Paul Eggert <address@hidden>
+ Port coreutils 7.2 to Solaris 8.
+
+ * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
+ for Solaris 8. This is a bit of a hack, as it means it's the
+ caller's responsibility to add -lnsl if needed, but most likely it
+ won't be needed since only getaddrinfo uses this and getaddrinfo
+ isn't neede on Solaris 8.
+
* modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
problem to Solaris 8 encountered with coreutils 7.2, which
resulted in a message "fnmatch.c:292: warning: passing argument 4
diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4
index 42bfc5e..2bbdca1 100644
--- a/m4/inet_ntop.m4
+++ b/m4/inet_ntop.m4
@@ -1,4 +1,4 @@
-# inet_ntop.m4 serial 8
+# inet_ntop.m4 serial 9
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,7 +11,18 @@ AC_DEFUN([gl_INET_NTOP],
gl_REPLACE_ARPA_INET_H
- AC_REPLACE_FUNCS([inet_ntop])
+ 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.
+ gl_save_LIBS=$LIBS
+ AC_SEARCH_LIBS([inet_ntop], [nsl], [],
+ [AC_REPLACE_FUNCS([inet_ntop])])
+ LIBS=$gl_save_LIBS
+
gl_PREREQ_INET_NTOP
])
diff --git a/modules/arpa_inet b/modules/arpa_inet
index 3691fd5..d799403 100644
--- a/modules/arpa_inet
+++ b/modules/arpa_inet
@@ -19,7 +19,7 @@ BUILT_SOURCES += $(ARPA_INET_H)
# We need the following in order to create <arpa/inet.h> when the system
# doesn't have one.
-arpa/inet.h:
+arpa/inet.h: arpa_inet.in.h
@MKDIR_P@ arpa
rm -f address@hidden $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
--
1.5.3.2
>From 9d17a13747f2286970948f17d8e22a81326ae023 Mon Sep 17 00:00:00 2001
From: Paul Eggert <address@hidden>
Date: Fri, 3 Apr 2009 13:31:23 -0700
Subject: [PATCH] Fix ChangeLog typo in my previous commit.
---
ChangeLog | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 7415f5b..a8c80a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,11 +2,12 @@
Port coreutils 7.2 to Solaris 8.
+ * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
* m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
for Solaris 8. This is a bit of a hack, as it means it's the
caller's responsibility to add -lnsl if needed, but most likely it
won't be needed since only getaddrinfo uses this and getaddrinfo
- isn't neede on Solaris 8.
+ isn't needed on Solaris 8.
* modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
problem to Solaris 8 encountered with coreutils 7.2, which
--
1.5.3.2