Subject: pkg/33978: archivers/afio Solaris 10
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Gilles Dauphin <dauphin@enst.fr>
List: pkgsrc-bugs
Date: 07/11/2006 16:00:01
>Number:         33978
>Category:       pkg
>Synopsis:       archivers/afio Solaris 10
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jul 11 16:00:00 +0000 2006
>Originator:     Gilles Dauphin
>Release:        SunOS 5.10 i86pc
>Organization:
ENST 
>Environment:


System: SunOS bi.enst.fr 5.10 Generic_Patch_118844-30 i86pc


>Description:


[root@u2 1043] bmake
===> Building for afio-2.5
gcc  afio.o compfile.o exten.o match.o  -o afio
Undefined                       first referenced
 symbol                             in file
sys_nerr                            afio.o
sys_errlist                         afio.o
ld: fatal: Symbol referencing errors. No output written to afio
collect2: ld returned 1 exit status
*** Error code 1



>How-To-Repeat:


bmake


>Fix:


--- afio.c.orig Sat Dec 20 23:16:13 2003
+++ afio.c      Tue Jul 11 17:53:46 2006
@@ -167,10 +167,6 @@
 #include <strings.h>
 #include <sys/wait.h>
 #define linux_tstamp 1
-/* fix SunOS errno.h not declaring what the manpage says it declares 
-   bogosity. */
- extern int sys_nerr;
- extern char *sys_errlist[];
 #endif
 
 #ifdef hpux
@@ -210,8 +206,11 @@
 #endif
 
 #ifndef        major
-#ifdef sun
+#if defined(sun) || defined(__INTERIX)
 #include <sys/mkdev.h>
+# if !defined(makedev) && defined(mkdev)
+#  define makedev(a,b) mkdev((a),(b))
+# endif
 #else
 #include <sys/sysmacros.h>
 #endif
@@ -4354,6 +4353,9 @@
 STATIC char *
 syserr ()
 {
+#if defined(sun) || defined(__INTERIX)
+  return strerror(errno);
+#else
   static char msg[40];
 
   if (errno > 0 && errno < sys_nerr)
@@ -4360,6 +4362,7 @@
     return ((char *) sys_errlist[errno]);
   VOID sprintf (msg, "Unknown error (errno %d)", errno);
   return (msg);
+#endif
 }
 
 /*