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>
View this message in rfc822 format
From: Peter Dyballa <Peter_Dyballa <at> Web.DE> To: 77807 <at> debbugs.gnu.org Subject: bug#77807: 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)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.