bug-coreutils
[Top][All Lists]
Advanced

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

coreutils 6.0, Solaris 9 build failure


From: Keith Thompson
Subject: coreutils 6.0, Solaris 9 build failure
Date: Tue, 15 Aug 2006 13:30:38 -0700
User-agent: Mutt/1.4.1i

% uname -a
SunOS elmak 5.9 Generic_118558-20 sun4u sparc SUNW,Sun-Blade-100 Solaris
% config.guess 
sparc-sun-solaris2.9
% gcc --version
gcc (GCC) 4.0.2
[...]

The build fails with the following error message:

gai_strerror.c:70: error: conflicting types for 'gai_strerror'
/usr/include/netdb.h:311: error: previous declaration of 'gai_strerror' was here

gai_strerror.c contains:
...
    68  const char *
    69  gai_strerror (int code)
    70  {
...

/usr/include/netdb.h contains:

...
    311 char            *gai_strerror(int);
...

When I changed gai_strerror.c as follows:

========================================================================
% diff -u gai_strerror.c.orig gai_strerror.c
--- gai_strerror.c.orig 2006-02-14 23:10:57.000000000 -0800
+++ gai_strerror.c      2006-08-15 12:32:01.000000000 -0700
@@ -65,7 +65,7 @@
 #endif
   };
 
-const char *
+/* const */ char *
 gai_strerror (int code)
 {
   size_t i;
========================================================================

it compiled without error.

I suspect that's not the proper fix.  It seems odd for gai_strerror.c
to be providing a definition for a function that's declared in a system
header.  Probably coreutils shouldn't try to provide a declaration
or definition of gai_strerror() if the system already provides one.

-- 
Keith Thompson (The_Other_Keith) address@hidden  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://users.sdsc.edu/~kst>
We must do something.  This is something.  Therefore, we must do this.




reply via email to

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