This patch was added for windows.  Does it help you?  It switches to errno.h

--- getopt.c    2018-09-13 21:27:52.000000000 -0400
+++ ../../3.4/spamc/getopt.c    2018-09-17 07:12:38.758722882 -0400
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <assert.h>
 #include <stdlib.h>
-#include <err.h>
+#include <errno.h>
 #include "getopt.h"
 
 #ifdef WIN32
@@ -246,7 +246,8 @@
       if((bp = strchr(longopt, '='))) {
          opt = strdup(bp+1);
          if (opt == NULL) {
-            err(1, NULL);
+            fprintf(stderr, "%s: %s\n", argv[0], strerror(errno));
+            exit(1);
          } 
          longoptlen -= strlen(bp);
       }

On 9/17/2018 4:37 PM, James Hsieh wrote:
> So this isn't a complaint.  I think the SA team has done a great job getting 
> this release out and yes, it works fine for me under Linux.
>
> However, any creative ways for getting around the fact that err.h is now part 
> of spamc/getopt.c?  This breaks older OSes (which admittedly I probably 
> shouldn't care about or use anymore) such as Solaris 10.  For a double dot 
> release, this seems a bit unfortunate though I agree, really need to get this 
> system on to something more modern.
>
> make -f spamc/Makefile spamc/spamc
> /usr/local/bin/gcc  -g spamc/spamc.c spamc/getopt.c spamc/libspamc.c 
> spamc/utils.c \
>         -o spamc/spamc -L/usr/lib -L/usr/ccs/lib 
> -L/opt/solarisstudio12.3/prod/lib/sparc -L/opt/solarisstudio12.3/prod/lib 
> -L/lib -L/usr/local/lib  -ldl -lz -lnsl -lsocket
> spamc/getopt.c:24:17: fatal error: err.h: No such file or directory
> compilation terminated.
> *** Error code 1
> make: Fatal error: Command failed for target `spamc/spamc'
> Current working directory /export/src/Mail-SpamAssassin-3.4.2
> *** Error code 1
> make: Fatal error: Command failed for target `spamc/spamc'
>
> --James
>

-- 
Kevin A. McGrail
VP Fundraising, Apache Software Foundation
Chair Emeritus Apache SpamAssassin Project
https://www.linkedin.com/in/kmcgrail - 703.798.0171

Reply via email to