GNU bug report logs - #77807
Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X 10.4.11

Previous Next

Package: gzip;

Reported by: Peter Dyballa <Peter_Dyballa <at> Web.DE>

Date: Mon, 14 Apr 2025 19:11:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

To reply to this bug, email your comments to 77807 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gzip <at> gnu.org:
bug#77807; Package gzip. (Mon, 14 Apr 2025 19:11:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter Dyballa <Peter_Dyballa <at> Web.DE>:
New bug report received and forwarded. Copy sent to bug-gzip <at> gnu.org. (Mon, 14 Apr 2025 19:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: bug-gzip <at> gnu.org
Subject: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X 10.4.11
Date: Mon, 14 Apr 2025 21:09:41 +0200
[Message part 1 (text/plain, inline)]
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 <at> 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 <at> 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 <at> 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

[Gzip_Tiger-Patches.diff (application/octet-stream, attachment)]

Information forwarded to bug-gzip <at> gnu.org:
bug#77807; Package gzip. (Tue, 15 Apr 2025 07:40:01 GMT) Full text and rfc822 format available.

Message #8 received at 77807 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77807 <at> debbugs.gnu.org
Subject: Re: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X
 10.4.11
Date: Tue, 15 Apr 2025 00:39:35 -0700
Please try gzip 1.14 instead, as it has fixes in at least some of the 
areas that gave you trouble.




Information forwarded to bug-gzip <at> gnu.org:
bug#77807; Package gzip. (Tue, 15 Apr 2025 10:15:02 GMT) Full text and rfc822 format available.

Message #11 received at 77807 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77807 <at> debbugs.gnu.org
Subject: Re: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X
 10.4.11
Date: Tue, 15 Apr 2025 12:14:00 +0200
> Am 15.Apr..2025 um 09:39 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> Please try gzip 1.14 instead, as it has fixes in at least some of the areas that gave you trouble.

Yes, compiles fine, except for some warnings:

/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-realloc.o -MD -MP -MF .deps/libgzip_a-realloc.Tpo -c -o libgzip_a-realloc.o `test -f 'realloc.c' || echo './'`realloc.c
realloc.c: In function 'rpl_realloc':
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type
realloc.c:88: warning: comparison is always false due to limited range of data type

/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-reallocarray.o -MD -MP -MF .deps/libgzip_a-reallocarray.Tpo -c -o libgzip_a-reallocarray.o `test -f 'reallocarray.c' || echo './'`reallocarray.c
reallocarray.c: In function 'reallocarray':
reallocarray.c:30: warning: comparison is always false due to limited range of data type
reallocarray.c:30: warning: comparison is always false due to limited range of data type

/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-stat.o -MD -MP -MF .deps/libgzip_a-stat.Tpo -c -o libgzip_a-stat.o `test -f 'stat.c' || echo './'`stat.c
In file included from stat.c:54:
stat-time.h: In function 'stat_time_normalize':
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type

/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-stat-time.o -MD -MP -MF .deps/libgzip_a-stat-time.Tpo -c -o libgzip_a-stat-time.o `test -f 'stat-time.c' || echo './'`stat-time.c
In file included from stat-time.c:21:
stat-time.h: In function 'stat_time_normalize':
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type

/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-utimens.o -MD -MP -MF .deps/libgzip_a-utimens.Tpo -c -o libgzip_a-utimens.o `test -f 'utimens.c' || echo './'`utimens.c
In file included from utimens.c:35:
stat-time.h: In function 'stat_time_normalize':
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type
stat-time.h:228: warning: comparison is always false due to limited range of data type

/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-vfzprintf.o -MD -MP -MF .deps/libgzip_a-vfzprintf.Tpo -c -o libgzip_a-vfzprintf.o `test -f 'vfzprintf.c' || echo './'`vfzprintf.c
vfzprintf.c: In function 'vfzprintf':
vfzprintf.c:49: warning: comparison is always false due to limited range of data type

/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-xmalloc.o -MD -MP -MF .deps/libgzip_a-xmalloc.Tpo -c -o libgzip_a-xmalloc.o `test -f 'xmalloc.c' || echo './'`xmalloc.c
xmalloc.c: In function 'x2nrealloc':
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c:199: warning: comparison is always false due to limited range of data type
xmalloc.c: In function 'xpalloc':
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:240: warning: comparison is always false due to limited range of data type
xmalloc.c:255: warning: comparison is always false due to limited range of data type
xmalloc.c:255: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:267: warning: comparison is always false due to limited range of data type
xmalloc.c:269: warning: comparison is always false due to limited range of data type
xmalloc.c:269: warning: comparison is always false due to limited range of data type

/opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   -I/opt/local/include   -pipe -Os -arch ppc -MT calloc.o -MD -MP -MF $depbase.Tpo -c -o calloc.o calloc.c &&\
calloc.c: In function 'rpl_calloc':
calloc.c:43: warning: comparison is always false due to limited range of data type
calloc.c:43: warning: comparison is always false due to limited range of data type

/opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.   -I/opt/local/include   -pipe -Os -arch ppc -MT malloc.o -MD -MP -MF $depbase.Tpo -c -o malloc.o malloc.c &&\
malloc.c: In function 'rpl_malloc':
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type
malloc.c:41: warning: comparison is always false due to limited range of data type

/opt/local/bin/gcc-apple-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I./lib  -I./lib -I/opt/local/include   -pipe -Os -arch ppc -MT gzip.o -MD -MP -MF $depbase.Tpo -c -o gzip.o gzip.c &&\
In file included from gzip.c:76:
./lib/stat-time.h: In function 'stat_time_normalize':
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type
./lib/stat-time.h:228: warning: comparison is always false due to limited range of data type

############################################################################################

Tests behave similarly, it's always one that fails here:

--->  Testing gzip
Executing:  cd "/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14" && /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: list-big
PASS: gzip-env
PASS: reference
PASS: helin-segv
PASS: help-version
PASS: hufts
PASS: keep
PASS: list
PASS: memcpy-abuse
PASS: mixed
PASS: null-suffix-clobber
PASS: pipe-output
PASS: reproducible
PASS: stdin
PASS: synchronous
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.14: tests/test-suite.log
=====================================

# TOTAL: 30
# PASS:  29
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1

System information (uname -a): Darwin 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh

.. 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.14/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.14/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.14/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.14/tests/
++++ unset TMPDIR
+++ d=
++++ 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_=YkPH
+++ candidate_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
++++ mkdir -m 0700 /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
+++ err_=
+++ echo /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
+++ return
++ test_dir_=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
++ cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
++ 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=
++ IFS= 	

++ test -d /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/.
++ new_PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14
++ IFS= 	

++ 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.14:/opt/local/bin
++ IFS= 	

++ 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.14:/opt/local/bin:/opt/local/sbin
++ IFS= 	

++ 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.14:/opt/local/bin:/opt/local/sbin:/bin
++ IFS= 	

++ 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.14:/opt/local/bin:/opt/local/sbin:/bin:/sbin
++ IFS= 	

++ 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.14:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin
++ IFS= 	

++ 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.14:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
++ IFS= 	

++ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14:/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.14/tests/..
+ PATH=/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/..:/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14:/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.14/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.14/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.14/tests/gt-zgrep-signal.YkPH
+ rm -rf /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_archivers_gzip/gzip/work/gzip-1.14/tests/gt-zgrep-signal.YkPH
+ exit 99
ERROR zgrep-signal (exit status: 99)

============================================================================
Testsuite summary for gzip 1.14
============================================================================
# TOTAL: 30
# PASS:  29
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 1
============================================================================
See tests/test-suite.log for debugging.
Some test(s) failed.  Please report this to bug-gzip <at> gnu.org,
together with the test-suite.log file (gzipped) and your system
information.  Thanks.
============================================================================


--

Greetings

  Pete

"The purpose of computing is insight–not numbers!"
				– Richard Hamming, 1962





Information forwarded to bug-gzip <at> gnu.org:
bug#77807; Package gzip. (Wed, 16 Apr 2025 09:56:02 GMT) Full text and rfc822 format available.

Message #14 received at 77807 <at> debbugs.gnu.org (full text, mbox):

From: Peter Dyballa <Peter_Dyballa <at> Web.DE>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 77807 <at> debbugs.gnu.org
Subject: Re: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X
 10.4.11
Date: Wed, 16 Apr 2025 11:54:31 +0200
> Am 15.Apr..2025 um 09:39 schrieb Paul Eggert <eggert <at> cs.ucla.edu>:
> 
> Please try gzip 1.14 instead, as it has fixes in at least some of the areas that gave you trouble.

Same problem with gnutar 1.35 (and same solution, + missing "-lintl"). Testing misses two files to exclude – new bug report?

--

Greetings

  Pete

Film is a dog: the head is commerce, the tail is art. And only rarely does the tail wag the dog.
				– Joseph Losey





Information forwarded to bug-gzip <at> gnu.org:
bug#77807; Package gzip. (Mon, 19 May 2025 18:22:02 GMT) Full text and rfc822 format available.

Message #17 received at 77807 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77807 <at> debbugs.gnu.org
Subject: Re: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X
 10.4.11
Date: Mon, 19 May 2025 11:21:49 -0700
On 2025-04-16 02:54, Peter Dyballa wrote:
> Testing misses two files to exclude – new bug report?

I suppose so, yes - for Tar.




Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Mon, 19 May 2025 18:22:03 GMT) Full text and rfc822 format available.

Notification sent to Peter Dyballa <Peter_Dyballa <at> Web.DE>:
bug acknowledged by developer. (Mon, 19 May 2025 18:22:03 GMT) Full text and rfc822 format available.

Message #22 received at 77807-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Peter Dyballa <Peter_Dyballa <at> Web.DE>
Cc: 77807-done <at> debbugs.gnu.org
Subject: Re: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X
 10.4.11
Date: Mon, 19 May 2025 11:21:07 -0700
On 2025-04-15 03:14, Peter Dyballa wrote:

> Yes, compiles fine, except for some warnings:

The warnings are false alarms; you can ignore them. Glad to hear that 
gzip compiles now. Closing the bug report.


> + 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'

That's not a gzip bug; it's a problem with macOS Perl or kernel. Unless 
you want to debug the testing framework itself, I wouldn't worry about it.




This bug report was last modified 25 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.