Hello!

I am building the software out of a MacPorts installation on an Apple PowerBook 
G4 with Mac OS X 10.4.11, Tiger:

    Executing:  cd 
"/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13"
 && ./configure --prefix=/opt/local --disable-silent-rules DEFS=NO_ASM 
--disable-year2038 

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-error.o -MD -MP -MF .deps/libgzip_a-error.Tpo -c -o 
libgzip_a-error.o `test -f 'error.c' || echo './'`error.c
    In file included from /usr/include/sys/wait.h:110,
                     from /usr/include/stdlib.h:64,
                     from ./stdlib.h:36,
                     from error.c:29:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'
    make[3]: *** [libgzip_a-error.o] Error 1

pre-processed C file has:

 1604   # 27 "/usr/include/machine/_types.h" 2 3 4
 1605   # 28 "/usr/include/sys/_types.h" 2 3 4
...
 1612   struct __darwin_mcontext;
 1613   # 49 "/usr/include/sys/_types.h" 3 4
...
 1640   # 93 "/usr/include/sys/_types.h" 3 4
...
 1658   typedef struct __darwin_mcontext *__darwin_mcontext_t;
...
 1709   struct __darwin_ucontext
 1710   
 1711   {
 1712    int uc_onstack;
 1713    __darwin_sigset_t uc_sigmask;
 1714    __darwin_stack_t uc_stack;
 1715   
 1716   
 1717   
 1718    struct __darwin_ucontext *uc_link;
 1719   
 1720    __darwin_size_t uc_mcsize;
 1721    __darwin_mcontext_t uc_mcontext;
 1722   };
 1723   
 1724   
 1725   
 1726   typedef struct __darwin_ucontext __darwin_ucontext_t;
 1727   # 28 "/usr/include/_types.h" 2 3 4
...
 4361   # 128 "/usr/include/sys/signal.h" 3 4
 4362   #define SIG_DFL (void (*)( ))0
 4363   #define SIG_IGN (void (*)( ))1
 4364   #define SIG_HOLD (void (*)( ))5
 4365   #define SIG_ERR ((void (*)( ))-1)
 4366   
 4367   
 4368   
 4369   
 4370   
 4371   
 4372   #define _MCONTEXT_T 
 4373   typedef __darwin_mcontext_t mcontext_t;
 4374   
 4375   
 4376   
 4377   
 4378   #define _MCONTEXT64_T 
 4379   typedef __darwin_mcontext64_t mcontext64_t;
 4380   # 160 "/usr/include/sys/signal.h" 3 4
 4381   #define _SIGSET_T 
 4382   typedef __darwin_sigset_t sigset_t;
 4383   # 170 "/usr/include/sys/signal.h" 3 4
 4384   #define _UCONTEXT_T 
 4385   typedef __darwin_ucontext_t ucontext_t;
 4386   
 4387   
 4388   
 4389   
 4390   #define _UCONTEXT64_T 
 4391   typedef __darwin_ucontext64_t ucontext64_t;
 4392   # 186 "/usr/include/sys/signal.h" 3 4

/usr/include/sys/signal.h has:

  134   #ifndef _ANSI_SOURCE
  135   #include <sys/_types.h>
  136   
  137   #ifndef _MCONTEXT_T
  138   #define _MCONTEXT_T
  139   typedef __darwin_mcontext_t             mcontext_t;
  140   #endif
  141   
  142   #ifndef _POSIX_C_SOURCE
  143   #ifndef _MCONTEXT64_T
  144   #define _MCONTEXT64_T
  145   typedef __darwin_mcontext64_t           mcontext64_t;
  146   #endif
  147   #endif /* _POSIX_C_SOURCE */
...
  169   #ifndef _UCONTEXT_T
  170   #define _UCONTEXT_T
  171   typedef __darwin_ucontext_t             ucontext_t;
  172   #endif
  173   
  174   #ifndef _POSIX_C_SOURCE
  175   #ifndef _UCONTEXT64_T
  176   #define _UCONTEXT64_T
  177   typedef __darwin_ucontext64_t           ucontext64_t;
  178   #endif
  179   #endif /* _POSIX_C_SOURCE */

A search gives (my Mac is PPC):

    pete 244 /\ find /usr/include -type f -name '*.h' -exec ggrep -En 
'[um]context' {} /dev/null \;
    /usr/include/i386/ucontext.h:31:struct mcontext
    /usr/include/i386/ucontext.h:33:struct __darwin_mcontext
    /usr/include/i386/ucontext.h:57:typedef __darwin_mcontext_t mcontext_t;
    /usr/include/machine/ucontext.h:26:#include "ppc/ucontext.h"
    /usr/include/machine/ucontext.h:28:#include "i386/ucontext.h"
    /usr/include/ppc/ucontext.h:30:struct mcontext {
    /usr/include/ppc/ucontext.h:38:struct __darwin_mcontext {
    /usr/include/ppc/ucontext.h:48:typedef __darwin_mcontext_t          
mcontext_t;
    /usr/include/ppc/ucontext.h:52:struct mcontext64 {
    /usr/include/ppc/ucontext.h:62:typedef struct mcontext64  * mcontext64_t;
    /usr/include/sys/_types.h:31:struct mcontext;
    /usr/include/sys/_types.h:32:struct mcontext64;
    /usr/include/sys/_types.h:34:struct __darwin_mcontext;
    /usr/include/sys/_types.h:107:typedef struct mcontext *__darwin_mcontext_t; 
/* [???] machine context */
    /usr/include/sys/_types.h:108:typedef struct mcontext64 
*__darwin_mcontext64_t; /* [???] machine context */
    /usr/include/sys/_types.h:110:typedef struct __darwin_mcontext 
*__darwin_mcontext_t; /* [???] machine context */
    /usr/include/sys/_types.h:159:struct ucontext
    /usr/include/sys/_types.h:161:struct __darwin_ucontext
    /usr/include/sys/_types.h:168:      struct ucontext *uc_link;               
/* pointer to resuming context */
    /usr/include/sys/_types.h:170:      struct __darwin_ucontext *uc_link;      
/* pointer to resuming context */
    /usr/include/sys/_types.h:173:      __darwin_mcontext_t     uc_mcontext;    
/* pointer to machine specific context */
    /usr/include/sys/_types.h:176:typedef struct ucontext __darwin_ucontext_t;  
/* [???] user context */
    /usr/include/sys/_types.h:178:typedef struct __darwin_ucontext 
__darwin_ucontext_t; /* [???] user context */
    /usr/include/sys/_types.h:182:struct ucontext64 {
    /usr/include/sys/_types.h:186:      struct ucontext64 *uc_link;             
/* pointer to resuming context */
    /usr/include/sys/_types.h:188:      __darwin_mcontext64_t uc_mcontext64;    
/* pointer to machine specific context */
    /usr/include/sys/_types.h:190:typedef struct ucontext64 
__darwin_ucontext64_t; /* [???] user context */
    /usr/include/sys/signal.h:139:typedef __darwin_mcontext_t           
mcontext_t;
    /usr/include/sys/signal.h:145:typedef __darwin_mcontext64_t         
mcontext64_t;
    /usr/include/sys/signal.h:171:typedef __darwin_ucontext_t           
ucontext_t;
    /usr/include/sys/signal.h:177:typedef __darwin_ucontext64_t         
ucontext64_t;
    /usr/include/sys/ucontext.h:28:#include <machine/ucontext.h>
    /usr/include/sys/ucontext.h:43:typedef struct ucontext      ucontext_t;
    /usr/include/sys/ucontext.h:45:typedef struct __darwin_ucontext ucontext_t;
    /usr/include/sys/ucontext.h:52:typedef struct ucontext64    ucontext64_t;
    /usr/include/ucontext.h:27:#include <sys/ucontext.h>

Of all these seven C header files

     /usr/include/i386/ucontext.h
     /usr/include/machine/ucontext.h
     /usr/include/ppc/ucontext.h
     /usr/include/sys/_types.h
     /usr/include/sys/signal.h
     /usr/include/sys/ucontext.h
     /usr/include/ucontext.h

only

   13   ..... /usr/include/sys/_types.h
   48   .... /usr/include/sys/signal.h

are included (running GCC with -H). Possibly not enough…

Patching with

--- lib/error.c~        2023-05-28 03:10:34.000000000 +0200
+++ lib/error.c 2025-04-14 09:44:06.000000000 +0200
@@ -24,6 +24,7 @@
 
 #include "error.h"
 
+#include <ucontext.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>

now

   13   ..... /usr/include/sys/_types.h
   44   . /usr/include/ucontext.h
   45   .. /usr/include/sys/ucontext.h
   46   ... /usr/include/machine/ucontext.h
   47   .... /usr/include/ppc/ucontext.h
   53   .... /usr/include/sys/signal.h

are included, and the result is now:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-fclose.o -MD -MP -MF .deps/libgzip_a-fclose.Tpo -c 
-o libgzip_a-fclose.o `test -f 'fclose.c' || echo './'`fclose.c
    In file included from /usr/include/signal.h:63,
                     from ./signal.h:52,
                     from /usr/include/sys/select.h:146,
                     from /usr/include/unistd.h:483,
                     from ./unistd.h:40,
                     from fclose.c:23:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'
    make[3]: *** [libgzip_a-fclose.o] Error 1

I.e. SUCCESS, another source file needs a patch.

--- lib/fclose.c~       2023-01-02 02:20:46.000000000 +0100
+++ lib/fclose.c        2025-04-14 09:50:41.000000000 +0200
@@ -17,6 +17,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #include <errno.h>

leads to instant new SUCCESS:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-fflush.o -MD -MP -MF .deps/libgzip_a-fflush.Tpo -c 
-o libgzip_a-fflush.o `test -f 'fflush.c' || echo './'`fflush.c
    In file included from /usr/include/signal.h:63,
                     from ./signal.h:52,
                     from /usr/include/sys/select.h:146,
                     from /usr/include/unistd.h:483,
                     from ./unistd.h:40,
                     from fflush.c:25:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

--- lib/fflush.c~       2023-04-07 06:15:26.000000000 +0200
+++ lib/fflush.c        2025-04-14 09:54:11.000000000 +0200
@@ -19,6 +19,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #include <errno.h>

leads to:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-fpurge.o -MD -MP -MF .deps/libgzip_a-fpurge.Tpo -c 
-o libgzip_a-fpurge.o `test -f 'fpurge.c' || echo './'`fpurge.c
    In file included from /usr/include/sys/wait.h:110,
                     from /usr/include/stdlib.h:64,
                     from ./stdlib.h:36,
                     from fpurge.c:27:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'
    fpurge.c: In function 'rpl_fpurge':
    fpurge.c:47: warning: implicit declaration of function 'fpurge'

The warning is caused in /usr/include/stdio.h by:

    319 #ifndef _POSIX_C_SOURCE
    320 __const char 
    321         *fmtcheck(const char *, const char *); 
    322 int      fpurge(FILE *); 
    323 #endif /* not POSIX */

_POSIX_C_SOURCE is handled in the pre-compiled output here:

 1485   # 18 "fpurge.c" 2
 1486   
 1487   
 1488   # 1 "./stdio.h" 1
 1489   # 20 "./stdio.h"
 1490          
 1491   # 21 "./stdio.h" 3
 1492   # 42 "./stdio.h" 3
 1493   #define _POSIX_C_SOURCE 200809L
 1494   #define _GL_DEFINED__POSIX_C_SOURCE 
...
 2003   # 50 "./stdio.h" 2 3
 2004   
 2005   #undef _GL_ALREADY_INCLUDING_STDIO_H
 2006   
 2007   
 2008   #undef _GL_DEFINED__POSIX_C_SOURCE
 2009   #undef _POSIX_C_SOURCE

*fpurge() is handled in the pre-compiled output here:

 4078   # 1064 "./stdio.h" 3
 4079   #define fpurge rpl_fpurge
 4080   
 4081   extern int rpl_fpurge (FILE *gl_stream) __attribute__ ((__nonnull__ 
(1)));
...
 5238   # 30 "fpurge.c" 2
 5239   
 5240   int
 5241   rpl_fpurge (FILE *fp)
 5242   {
 5243   # 43 "fpurge.c"
 5244   #undef fpurge
 5245   
 5246   
 5247   
 5248     int result = fpurge (fp);
 5249   
 5250   
 5251     if (result == 0)
 5252   
 5253   
 5254   
 5255   
 5256   
 5257   
 5258       if ((fp->_flags & 0x0004) != 0)
 5259         fp->_w = 0;
 5260   
 5261     return result;
 5262   # 150 "fpurge.c"
 5263   }

Is line #43 in original fpurge.c too much for Mac OS X 10.4.11, Tiger? 
config.status has

    D["HAVE_FPURGE"]=" 1"
    D["HAVE_DECL_FPURGE"]=" 1"
    
no line with HAVE___FPURGE (or HAVE_STDIO_EXT_H).

lib/fpurge.c has:

   22   #if HAVE___FPURGE                   /* glibc >= 2.2, Haiku, Solaris >= 
7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */
   23   # if HAVE_STDIO_EXT_H
   24   #  include <stdio_ext.h>
   25   # endif
   26   #endif
   27   #include <stdlib.h>
   28   
   29   #include "stdio-impl.h"
   30   
   31   int
   32   fpurge (FILE *fp)
   33   {
   34   #if HAVE___FPURGE                   /* glibc >= 2.2, Haiku, Solaris >= 
7, UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */
   35   
   36     __fpurge (fp);
   37     /* The __fpurge function does not have a return value.  */
   38     return 0;
   39   
   40   #elif HAVE_FPURGE                   /* FreeBSD, NetBSD, OpenBSD, 
DragonFly, Mac OS X, Cygwin >= 1.7 */
   41   
   42     /* Call the system's fpurge function.  */
   43   # undef fpurge
   44   # if !HAVE_DECL_FPURGE
   45     extern int fpurge (FILE *);
   46   # endif
   47     int result = fpurge (fp);
   48   # if defined __sferror || defined __DragonFly__ || defined __ANDROID__
   49     /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, 
Android */
   50     if (result == 0)
   51       /* Correct the invariants that fpurge broke.
   52          <stdio.h> on BSD systems says:
   53            "The following always hold: if _flags & __SRD, _w is 0."
   54          If this invariant is not fulfilled and the stream is read-write 
but
   55          currently reading, subsequent putc or fputc calls will write 
directly
   56          into the buffer, although they shouldn't be allowed to.  */
   57       if ((fp_->_flags & __SRD) != 0)
   58         fp_->_w = 0;
   59   # endif
   60     return result;
   61   
   62   #else
   63   
   64     /* Most systems provide FILE as a struct and the necessary bitmask in
   65        <stdio.h>, because they need it for implementing getc() and putc() 
as
   66        fast macros.  */
   67   # if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || 
__GNU_LIBRARY__ == 1
   68     /* GNU libc, BeOS, Haiku, Linux libc5 */
   69     fp->_IO_read_end = fp->_IO_read_ptr;
   70     fp->_IO_write_ptr = fp->_IO_write_base;
   71     /* Avoid memory leak when there is an active ungetc buffer.  */
   72     if (fp->_IO_save_base != NULL)
   73       {
   74         free (fp->_IO_save_base);
   75         fp->_IO_save_base = NULL;
   76       }
   77     return 0;
   78   # elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
   79     /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, 
Android */
   80     fp_->_p = fp_->_bf._base;
   81     fp_->_r = 0;
   82     fp_->_w = ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully 
buffered and not currently reading? */
   83                ? fp_->_bf._size
   84                : 0);
   85     /* Avoid memory leak when there is an active ungetc buffer.  */
   86     if (fp_ub._base != NULL)
   87       {
   88         if (fp_ub._base != fp_->_ubuf)
   89           free (fp_ub._base);
   90         fp_ub._base = NULL;
   91       }
   92     return 0;
   93   # elif defined __EMX__              /* emx+gcc */
   94     fp->_ptr = fp->_buffer;
   95     fp->_rcount = 0;
   96     fp->_wcount = 0;
   97     fp->_ungetc_count = 0;
   98     return 0;
   99   # elif defined __minix              /* Minix */
  100     fp->_ptr = fp->_buf;
  101     if (fp->_ptr != NULL)
  102       fp->_count = 0;
  103     return 0;
  104   # elif defined _IOERR               /* AIX, HP-UX, IRIX, OSF/1, 
Solaris, OpenServer, UnixWare, mingw, MSVC, NonStop Kernel, OpenVMS */
  105     fp_->_ptr = fp_->_base;
  106     if (fp_->_ptr != NULL)
  107       fp_->_cnt = 0;
  108     return 0;
  109   # elif defined __UCLIBC__           /* uClibc */
  110   #  ifdef __STDIO_BUFFERS
  111     if (fp->__modeflags & __FLAG_WRITING)
  112       fp->__bufpos = fp->__bufstart;
  113     else if (fp->__modeflags & (__FLAG_READONLY | __FLAG_READING))
  114       fp->__bufpos = fp->__bufread;
  115   #  endif
  116     return 0;
  117   # elif defined __QNX__              /* QNX */
  118     fp->_Rback = fp->_Back + sizeof (fp->_Back);
  119     fp->_Rsave = NULL;
  120     if (fp->_Mode & 0x2000 /* _MWRITE */)
  121       /* fp->_Buf <= fp->_Next <= fp->_Wend */
  122       fp->_Next = fp->_Buf;
  123     else
  124       /* fp->_Buf <= fp->_Next <= fp->_Rend */
  125       fp->_Rend = fp->_Next;
  126     return 0;
  127   # elif defined __MINT__             /* Atari FreeMiNT */
  128     if (fp->__pushed_back)
  129       {
  130         fp->__bufp = fp->__pushback_bufp;
  131         fp->__pushed_back = 0;
  132       }
  133     /* Preserve the current file position.  */
  134     if (fp->__target != -1)
  135       fp->__target += fp->__bufp - fp->__buffer;
  136     fp->__bufp = fp->__buffer;
  137     /* Nothing in the buffer, next getc is nontrivial.  */
  138     fp->__get_limit = fp->__bufp;
  139     /* Nothing in the buffer, next putc is nontrivial.  */
  140     fp->__put_limit = fp->__buffer;
  141     return 0;
  142   # elif defined EPLAN9               /* Plan9 */
  143     fp->rp = fp->wp = fp->lp = fp->buf;
  144     return 0;
  145   # else
  146   #  error "Please port gnulib fpurge.c to your platform! Look at the 
definitions of fflush, setvbuf and ungetc on your system, then report this to 
bug-gnulib."
  147   # endif
  148   
  149   #endif
  150   }

The patch

--- lib/fpurge.c~       2023-01-02 02:20:46.000000000 +0100
+++ lib/fpurge.c        2025-04-14 11:27:29.000000000 +0200
@@ -17,6 +17,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #if HAVE___FPURGE                   /* glibc >= 2.2, Haiku, Solaris >= 7, 
UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */

still leaves a warning

    fpurge.c: In function 'rpl_fpurge':
    fpurge.c:48: warning: implicit declaration of function 'fpurge'

so I finally used the patch:

--- lib/fpurge.c~       2023-01-02 02:20:46.000000000 +0100
+++ lib/fpurge.c        2025-04-14 11:29:37.000000000 +0200
@@ -17,6 +17,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #if HAVE___FPURGE                   /* glibc >= 2.2, Haiku, Solaris >= 7, 
UnixWare >= 7.1.4.MP4, Cygwin >= 1.7.10, Android API >= 23, musl libc */
@@ -40,7 +41,6 @@
 #elif HAVE_FPURGE                   /* FreeBSD, NetBSD, OpenBSD, DragonFly, 
Mac OS X, Cygwin >= 1.7 */
 
   /* Call the system's fpurge function.  */
-# undef fpurge
 # if !HAVE_DECL_FPURGE
   extern int fpurge (FILE *);
 # endif

The next error is with lib/fseek.c:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-fseek.o -MD -MP -MF .deps/libgzip_a-fseek.Tpo -c -o 
libgzip_a-fseek.o `test -f 'fseek.c' || echo './'`fseek.c
    In file included from /usr/include/signal.h:63,
                     from ./signal.h:52,
                     from /usr/include/sys/select.h:146,
                     from /usr/include/unistd.h:483,
                     from ./unistd.h:40,
                     from fseek.c:23:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

The patch

--- lib/fseek.c~        2023-01-02 02:20:46.000000000 +0100
+++ lib/fseek.c 2025-04-14 11:31:49.000000000 +0200
@@ -17,6 +17,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 /* Get off_t.  */

cures it and leads to:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -Wno-cast-qual -Wno-conversion -Wno-float-equal 
-Wno-sign-compare -Wno-undef -Wno-unused-function -Wno-unused-parameter -pipe 
-Os -arch ppc -MT libgzip_a-fseeko.o -MD -MP -MF .deps/libgzip_a-fseeko.Tpo -c 
-o libgzip_a-fseeko.o `test -f 'fseeko.c' || echo './'`fseeko.c
    In file included from /usr/include/signal.h:63,
                     from ./signal.h:52,
                     from /usr/include/sys/select.h:146,
                     from /usr/include/unistd.h:483,
                     from ./unistd.h:40,
                     from fseeko.c:23:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

The cure is:

--- lib/fseeko.c~       2023-01-02 02:20:46.000000000 +0100
+++ lib/fseeko.c        2025-04-14 11:33:31.000000000 +0200
@@ -17,6 +17,7 @@
 #include <config.h>
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 /* Get off_t, lseek, _POSIX_VERSION.  */

giving:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -pipe -Os -arch ppc -MT fprintf.o -MD -MP -MF 
$depbase.Tpo -c -o fprintf.o fprintf.c &&\
    mv -f $depbase.Tpo $depbase.Po
    In file included from /usr/include/sys/wait.h:110,
                     from /usr/include/stdlib.h:64,
                     from ./stdlib.h:36,
                     from fprintf.c:27:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

Again, the cure is:

--- lib/fprintf.c~      2023-01-02 02:20:46.000000000 +0100
+++ lib/fprintf.c       2025-04-14 11:35:15.000000000 +0200
@@ -19,6 +19,7 @@
 #endif
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #include <errno.h>

which leads to:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -pipe -Os -arch ppc -MT vasnprintf.o -MD -MP -MF 
$depbase.Tpo -c -o vasnprintf.o vasnprintf.c &&\
    mv -f $depbase.Tpo $depbase.Po
    In file included from /usr/include/sys/wait.h:110,
                     from /usr/include/stdlib.h:64,
                     from ./stdlib.h:36,
                     from vasnprintf.c:84:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

From

--- lib/vasnprintf.c~   2023-07-16 18:50:01.000000000 +0200
+++ lib/vasnprintf.c    2025-04-14 11:37:10.000000000 +0200
@@ -79,6 +79,7 @@
 # endif
 #endif
 
+#include <ucontext.h>
 #include <locale.h>     /* localeconv() */
 #include <stdio.h>      /* snprintf(), sprintf() */
 #include <stdlib.h>     /* abort(), malloc(), realloc(), free() */

I get:

    /opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   
-I/opt/local/include   -pipe -Os -arch ppc -MT vfprintf.o -MD -MP -MF 
$depbase.Tpo -c -o vfprintf.o vfprintf.c &&\
    mv -f $depbase.Tpo $depbase.Po
    In file included from /usr/include/sys/wait.h:110,
                     from /usr/include/stdlib.h:64,
                     from ./stdlib.h:36,
                     from vfprintf.c:27:
    /usr/include/sys/signal.h:145: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'mcontext64_t'
    /usr/include/sys/signal.h:177: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'ucontext64_t'

And

--- lib/vfprintf.c~     2023-01-02 02:20:46.000000000 +0100
+++ lib/vfprintf.c      2025-04-14 11:39:33.000000000 +0200
@@ -19,6 +19,7 @@
 #endif
 
 /* Specification.  */
+#include <ucontext.h>
 #include <stdio.h>
 
 #include <errno.h>

leads to: Compilation finished at Mon Apr 14 11:39:58


To check whether the built binaries work correctly I invoked 'make test':

--->  Testing gzip
Executing:  cd 
"/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13"
 && /usr/bin/make check 
if test -d ./.git                               \
        && git --version >/dev/null 2>&1; then                  \
  cd . &&                                               \
  git submodule --quiet foreach                                 \
      'test "$(git rev-parse "$sha1")"                  \
          = "$(git merge-base origin "$sha1")"'         \
    || { echo 'maint.mk: found non-public submodule commit' >&2;        \
         exit 1; };                                             \
else                                                            \
  : ;                                                           \
fi
/usr/bin/make  check-recursive
Making check in lib
/usr/bin/make  check-am
make[3]: Nothing to be done for `check-am'.
Making check in doc
make[2]: Nothing to be done for `check'.
Making check in .
/usr/bin/make  check-local
./gzip < ./gzip.doc >gzip.doc.gz-t && mv gzip.doc.gz-t gzip.doc.gz
PATH=.:$PATH; { test '.' != . \
                            || zdiff gzip.doc.gz; }
PATH=.:$PATH; zdiff ./gzip.doc ./gzip.doc
PATH=.:$PATH; zdiff ./gzip.doc gzip.doc.gz
PATH=.:$PATH; zdiff - ./gzip.doc <gzip.doc.gz
PATH=.:$PATH; zdiff gzip.doc.gz gzip.doc.gz
PATH=.:$PATH; zgrep -iV >/dev/null
PATH=.:$PATH;                           \
for opt in --rsyncable '' -1 -9; do             \
          for file in gunzip gzexe zcat zcmp zdiff zegrep zfgrep zforce zgrep 
zless zmore znew ./ChangeLog ./configure ./gzip.c; do             \
            gzip $opt -c -- "$file"                     \
              | gzip -d | cmp - "$file" || exit 1;      \
          done;                                         \
done
Making check in tests
/usr/bin/make  check-TESTS
PASS: gzip-env
PASS: helin-segv
PASS: help-version
PASS: hufts
PASS: keep
PASS: list
PASS: list-big
PASS: memcpy-abuse
PASS: mixed
PASS: null-suffix-clobber
PASS: pipe-output
PASS: reproducible
PASS: stdin
PASS: timestamp
PASS: two-files
PASS: trailing-nul
PASS: unpack-invalid
PASS: unpack-valid
PASS: upper-suffix
PASS: write-error
PASS: z-suffix
PASS: zdiff
PASS: zgrep-f
PASS: zgrep-abuse
PASS: zgrep-binary
PASS: zgrep-context
zgrep-signal: set-up failure: signal handling busted on this host
ERROR: zgrep-signal
PASS: znew-k
=====================================
   gzip 1.13: tests/test-suite.log
=====================================

# TOTAL: 28
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1

.. contents:: :depth: 2

ERROR: zgrep-signal
===================

++ 
initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
 gt-zgrep-signal.XXXX
+++ 
destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+++ template_=gt-zgrep-signal.XXXX
+++ MAX_TRIES_=4
+++ 
destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/
++++ unset TMPDIR
+++ d=/tmp/-p.VvzFjBXf
gt-zgrep-signal.s07R
++++ echo gt-zgrep-signal.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-zgrep-signal.
++++ echo gt-zgrep-signal.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-zgrep-signal.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 
01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=Nubu
+++ 
candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
++++ mkdir -m 0700 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
+++ err_=
+++ echo 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
+++ return
++ 
test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
++ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS=         

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS=   

++ IFS=:
++ new_PATH=
++ sep_=
++ test -d 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13
++ sep_=:
++ test -d /opt/local/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin
++ sep_=:
++ test -d /opt/local/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin
++ sep_=:
++ test -d /bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin
++ sep_=:
++ test -d /sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ sep_=:
++ test -d /usr/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ sep_=:
++ test -d /usr/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ sep_=:
++ IFS=         

++ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ..
+ test 1 '!=' 0
+ path_dir_=..
+ 
abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..
+ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo a
+ gzip -c
+ test x = x
+ PERL=perl
+ write_to_dangling_pipe cat f.gz f.gz
+ program=cat
+ shift
+ args=
+ args=, 'f.gz'
+ args=, 'f.gz', 'f.gz'
+ perl -e '
     use POSIX qw(dup2);
     $SIG{PIPE} = "DEFAULT";
     pipe my ($read_end, $write_end) or die "pipe: $!\n";
     dup2 fileno $write_end, 1 or die "dup2: $!\n";
     close $read_end or die "close: $!\n";
     exec '\''cat'\'', '\''f.gz'\'', '\''f.gz'\'';
  '
cat: f.gz: Bad file descriptor
+ signal_status=1
+ test 128 -lt 1
+ framework_failure_ 'signal handling busted on this host'
+ warn_ 'zgrep-signal: set-up failure: signal handling busted on this host'
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
zgrep-signal: set-up failure: signal handling busted on this host
+ test 9 = 2
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ test '' = yes
+ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+ chmod -R u+rwx 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
+ rm -rf 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.Nubu
+ exit 99
ERROR zgrep-signal (exit status: 99)

============================================================================
Testsuite summary for gzip 1.13
============================================================================
# TOTAL: 28
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1
============================================================================
See tests/test-suite.log
Please report to bug-gzip@gnu.org
============================================================================
make[4]: *** [test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2


•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
After removing the software I built again from archive file, now automatically 
applying all the patches:

patching file lib/error.c
patching file lib/fclose.c
patching file lib/fflush.c
patching file lib/fpurge.c
patching file lib/fseek.c
patching file lib/fseeko.c
patching file lib/fprintf.c
patching file lib/vasnprintf.c
patching file lib/vfprintf.c

The new tests produced:

--->  Testing gzip
Executing:  cd 
"/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13"
 && /usr/bin/make check 
if test -d ./.git                               \
        && git --version >/dev/null 2>&1; then                  \
  cd . &&                                               \
  git submodule --quiet foreach                                 \
      'test "$(git rev-parse "$sha1")"                  \
          = "$(git merge-base origin "$sha1")"'         \
    || { echo 'maint.mk: found non-public submodule commit' >&2;        \
         exit 1; };                                             \
else                                                            \
  : ;                                                           \
fi
/usr/bin/make  check-recursive
Making check in lib
/usr/bin/make  check-am
make[3]: Nothing to be done for `check-am'.
Making check in doc
make[2]: Nothing to be done for `check'.
Making check in .
/usr/bin/make  check-local
./gzip < ./gzip.doc >gzip.doc.gz-t && mv gzip.doc.gz-t gzip.doc.gz
PATH=.:$PATH; { test '.' != . \
                            || zdiff gzip.doc.gz; }
PATH=.:$PATH; zdiff ./gzip.doc ./gzip.doc
PATH=.:$PATH; zdiff ./gzip.doc gzip.doc.gz
PATH=.:$PATH; zdiff - ./gzip.doc <gzip.doc.gz
PATH=.:$PATH; zdiff gzip.doc.gz gzip.doc.gz
PATH=.:$PATH; zgrep -iV >/dev/null
PATH=.:$PATH;                           \
for opt in --rsyncable '' -1 -9; do             \
          for file in gunzip gzexe zcat zcmp zdiff zegrep zfgrep zforce zgrep 
zless zmore znew ./ChangeLog ./configure ./gzip.c; do             \
            gzip $opt -c -- "$file"                     \
              | gzip -d | cmp - "$file" || exit 1;      \
          done;                                         \
done
Making check in tests
/usr/bin/make  check-TESTS
PASS: gzip-env
PASS: helin-segv
PASS: help-version
PASS: hufts
PASS: keep
PASS: list
PASS: list-big
PASS: memcpy-abuse
PASS: mixed
PASS: null-suffix-clobber
PASS: pipe-output
PASS: reproducible
PASS: stdin
PASS: timestamp
PASS: two-files
PASS: trailing-nul
PASS: unpack-invalid
PASS: unpack-valid
PASS: upper-suffix
PASS: write-error
PASS: z-suffix
PASS: zdiff
PASS: zgrep-f
PASS: zgrep-abuse
PASS: zgrep-binary
PASS: zgrep-context
zgrep-signal: set-up failure: signal handling busted on this host
ERROR: zgrep-signal
PASS: znew-k
=====================================
   gzip 1.13: tests/test-suite.log
=====================================

# TOTAL: 28
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1

.. contents:: :depth: 2

ERROR: zgrep-signal
===================

++ 
initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
 gt-zgrep-signal.XXXX
+++ 
destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+++ template_=gt-zgrep-signal.XXXX
+++ MAX_TRIES_=4
+++ 
destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/
++++ unset TMPDIR
+++ d=/tmp/-p.5fCj3sjp
gt-zgrep-signal.bFPK
++++ echo gt-zgrep-signal.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-zgrep-signal.
++++ echo gt-zgrep-signal.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-zgrep-signal.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 
01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=8MuU
+++ 
candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
++++ mkdir -m 0700 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
+++ err_=
+++ echo 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
+++ return
++ 
test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
++ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS=         

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS=   

++ IFS=:
++ new_PATH=
++ sep_=
++ test -d 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13
++ sep_=:
++ test -d /opt/local/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin
++ sep_=:
++ test -d /opt/local/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin
++ sep_=:
++ test -d /bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin
++ sep_=:
++ test -d /sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ sep_=:
++ test -d /usr/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ sep_=:
++ test -d /usr/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ sep_=:
++ IFS=         

++ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ EXIT
+ path_prepend_ ..
+ test 1 '!=' 0
+ path_dir_=..
+ 
abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..
+ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/..
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo a
+ gzip -c
+ test x = x
+ PERL=perl
+ write_to_dangling_pipe cat f.gz f.gz
+ program=cat
+ shift
+ args=
+ args=, 'f.gz'
+ args=, 'f.gz', 'f.gz'
+ perl -e '
     use POSIX qw(dup2);
     $SIG{PIPE} = "DEFAULT";
     pipe my ($read_end, $write_end) or die "pipe: $!\n";
     dup2 fileno $write_end, 1 or die "dup2: $!\n";
     close $read_end or die "close: $!\n";
     exec '\''cat'\'', '\''f.gz'\'', '\''f.gz'\'';
  '
cat: f.gz: Bad file descriptor
+ signal_status=1
+ test 128 -lt 1
+ framework_failure_ 'signal handling busted on this host'
+ warn_ 'zgrep-signal: set-up failure: signal handling busted on this host'
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
zgrep-signal: set-up failure: signal handling busted on this host
+ test 9 = 2
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ test '' = yes
+ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests
+ chmod -R u+rwx 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
+ rm -rf 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.13/tests/gt-zgrep-signal.8MuU
+ exit 99
ERROR zgrep-signal (exit status: 99)

============================================================================
Testsuite summary for gzip 1.13
============================================================================
# TOTAL: 28
# PASS:  27
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1
============================================================================
See tests/test-suite.log
Please report to bug-gzip@gnu.org
============================================================================
make[4]: *** [test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check] Error 2
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Both tests produce the same results. Gzip 1.12, not needing any patches to 
build, gives these test results:

--->  Testing gzip
Executing:  cd 
"/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12"
 && /usr/bin/make check 
if test -d ./.git                               \
        && git --version >/dev/null 2>&1; then                  \
  cd . &&                                               \
  git submodule --quiet foreach                                 \
      'test "$(git rev-parse "$sha1")"                  \
          = "$(git merge-base origin "$sha1")"'         \
    || { echo 'maint.mk: found non-public submodule commit' >&2;        \
         exit 1; };                                             \
else                                                            \
  : ;                                                           \
fi
/usr/bin/make  check-recursive
Making check in lib
/usr/bin/make  check-am
make[3]: Nothing to be done for `check-am'.
Making check in doc
make[2]: Nothing to be done for `check'.
Making check in .
/usr/bin/make  check-local
./gzip < ./gzip.doc >gzip.doc.gz-t && mv gzip.doc.gz-t gzip.doc.gz
PATH=.:$PATH; { test '.' != . \
                            || zdiff gzip.doc.gz; }
PATH=.:$PATH; zdiff ./gzip.doc ./gzip.doc
PATH=.:$PATH; zdiff ./gzip.doc gzip.doc.gz
PATH=.:$PATH; zdiff - ./gzip.doc <gzip.doc.gz
PATH=.:$PATH; zdiff gzip.doc.gz gzip.doc.gz
PATH=.:$PATH; zgrep -iV >/dev/null
PATH=.:$PATH;                           \
for opt in --rsyncable '' -1 -9; do             \
          for file in gunzip gzexe zcat zcmp zdiff zegrep zfgrep zforce zgrep 
zless zmore znew ./ChangeLog ./configure ./gzip.c; do             \
            gzip $opt -c -- "$file"                     \
              | gzip -d | cmp - "$file" || exit 1;      \
          done;                                         \
done
Making check in tests
/usr/bin/make  check-TESTS
PASS: gzip-env
PASS: helin-segv
PASS: help-version
PASS: hufts
PASS: keep
PASS: list
PASS: list-big
PASS: memcpy-abuse
PASS: mixed
PASS: null-suffix-clobber
PASS: reproducible
PASS: stdin
PASS: timestamp
PASS: two-files
PASS: trailing-nul
PASS: unpack-invalid
PASS: unpack-valid
PASS: upper-suffix
PASS: z-suffix
PASS: zdiff
PASS: zgrep-f
PASS: zgrep-abuse
PASS: zgrep-binary
PASS: zgrep-context
zgrep-signal: set-up failure: signal handling busted on this host
ERROR: zgrep-signal
PASS: znew-k
=====================================
   gzip 1.12: tests/test-suite.log
=====================================

# TOTAL: 26
# PASS:  25
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1

.. contents:: :depth: 2

ERROR: zgrep-signal
===================

++ 
initial_cwd_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests
+++ testdir_prefix_
+++ printf gt
++ pfx_=gt
+++ mktempd_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests
 gt-zgrep-signal.XXXX
+++ 
destdir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests
+++ template_=gt-zgrep-signal.XXXX
+++ MAX_TRIES_=4
+++ 
destdir_slash_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/
++++ unset TMPDIR
+++ d=/tmp/-p.cts5cSrW
gt-zgrep-signal.jhm7
++++ echo gt-zgrep-signal.XXXX
++++ sed 's/XX*$//'
+++ base_template_=gt-zgrep-signal.
++++ echo gt-zgrep-signal.XXXX
++++ wc -c
+++ template_length_=      21
++++ echo gt-zgrep-signal.
++++ wc -c
+++ nx_=      17
++++ expr 21 - 17
+++ nx_=4
+++ err_=
+++ i_=1
+++ :
++++ rand_bytes_ 4
++++ n_=4
++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ dev_rand_=/dev/urandom
++++ test -r /dev/urandom
++++ dd ibs=4 count=1 if=/dev/urandom
++++ LC_ALL=C
++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 
01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
++++ return
+++ X_=IOgc
+++ 
candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
++++ mkdir -m 0700 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
+++ err_=
+++ echo 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
+++ return
++ 
test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
++ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
++ srcdir=../.
++ builddir=..
++ export srcdir builddir
++ gl_init_sh_nl_=

++ IFS=         

+++ expr 1 + 128
++ eval 'trap '\''Exit 129'\'' 1'
+++ trap 'Exit 129' 1
+++ expr 2 + 128
++ eval 'trap '\''Exit 130'\'' 2'
+++ trap 'Exit 130' 2
+++ expr 3 + 128
++ eval 'trap '\''Exit 131'\'' 3'
+++ trap 'Exit 131' 3
+++ expr 13 + 128
++ eval 'trap '\''Exit 141'\'' 13'
+++ trap 'Exit 141' 13
+++ expr 15 + 128
++ eval 'trap '\''Exit 143'\'' 15'
+++ trap 'Exit 143' 15
++ saved_IFS=   

++ IFS=:
++ new_PATH=
++ sep_=
++ test -d 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12
++ sep_=:
++ test -d /opt/local/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin
++ sep_=:
++ test -d /opt/local/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin
++ sep_=:
++ test -d /bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin
++ sep_=:
++ test -d /sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ sep_=:
++ test -d /usr/bin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ sep_=:
++ test -d /usr/sbin/.
++ 
new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ sep_=:
++ IFS=         

++ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ export PATH
++ trap remove_tmp_ 0
+ path_prepend_ ..
+ test 1 '!=' 0
+ path_dir_=..
+ 
abs_path_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/..
+ 
PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/..:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
+ create_exe_shims_ 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/..
+ return 0
+ shift
+ test 0 '!=' 0
+ export PATH
+ echo a
+ gzip -c
+ test x = x
+ PERL=perl
+ write_to_dangling_pipe cat f.gz f.gz
+ program=cat
+ shift
+ args=
+ args=, 'f.gz'
+ args=, 'f.gz', 'f.gz'
+ perl -e '
     use POSIX qw(dup2);
     $SIG{PIPE} = "DEFAULT";
     pipe my ($read_end, $write_end) or die "pipe: $!\n";
     dup2 fileno $write_end, 1 or die "dup2: $!\n";
     close $read_end or die "close: $!\n";
     exec '\''cat'\'', '\''f.gz'\'', '\''f.gz'\'';
  '
cat: f.gz: Bad file descriptor
+ signal_status=1
+ test 128 -lt 1
+ framework_failure_ 'signal handling busted on this host'
+ warn_ 'zgrep-signal: set-up failure: signal handling busted on this host'
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
zgrep-signal: set-up failure: signal handling busted on this host
+ test 9 = 2
+ printf '%s\n' 'zgrep-signal: set-up failure: signal handling busted on this 
host'
+ sed 1q
+ Exit 99
+ set +e
+ exit 99
+ exit 99
+ remove_tmp_
+ __st=99
+ cleanup_
+ :
+ test '' = yes
+ cd 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests
+ chmod -R u+rwx 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
+ rm -rf 
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.12/tests/gt-zgrep-signal.IOgc
+ exit 99
ERROR zgrep-signal (exit status: 99)

============================================================================
Testsuite summary for gzip 1.12
============================================================================
# TOTAL: 26
# PASS:  25
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1
============================================================================
See tests/test-suite.log
Please report to bug-gzip@gnu.org
============================================================================

So both releases give similar test results.


Attached is the set of patches I used on Tiger.

--

Greetings
  Pete

Perl—the only language that looks the same before and after RSA encryption.
                                - Keith Bostic

Attachment: Gzip_Tiger-Patches.diff
Description: Binary data

Reply via email to