Subject: bug#77807: Compilation of gzip 1.13 fails on PPC Tiger, Mac OS X 10.4.11

From: Peter Dyballa <[email-masked]>
Date: Tue, 15 Apr 2025 12:14:00 +0200

> Am 15.Apr..2025 um 09:39 schrieb Paul Eggert <[email-masked]>:
> 
> 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 [email-masked],
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