> Am 21.05.2025 um 13:35 schrieb Peter Dyballa <peter_dyba...@web.de>:
> 
> On my recent Mac with Sonoma 14.7 testing diffutils 3.12 shows same results 
> as in the supplied reference. On the old PowerBook G4 the log files from 
> tests show that the just built binaries do not work in many cases because of 
> "program error".

This report from PPC Mac OS X 10.4.11, Tiger, is also true for PPC Mac OS X 
10.5.8, Leopard. Repeatedly a "program error" happens – and then tests stall:

        + case $abs_path_dir_ in
        + 
PATH=/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src:/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/src:/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
        + create_exe_shims_ 
/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-Ports_sysutils_diffutils/diffutils/work/diffutils-3.12/tests/../src
        + case $EXEEXT in
        + return 0
        + shift
        + test 0 '!=' 0
        + export PATH
        + fail=0
        + cat
        + cat
        + cat
        + echo a
        + echo b
        + for opt in ''\'''\''' -u -c
        + returns_ 1 diff a b
        + fail=1
        + sed -e 's/^\([-+*][-+*][-+*] [^       ]*\)    .*/\1/' out
        + mv k out
        ++ echo
        ++ tr ' ' _
        + compare exp- out
        + compare_dev_null_ exp- out
        + test 2 = 2
        + test xexp- = x/dev/null
        + test xout = x/dev/null
        + return 2
        + case $? in
        + compare_ exp- out
        + LC_ALL=C
        + diff -u exp- out
        diff: program error
        diff: program error
        --- exp-        2025-06-05 09:22:29.000000000 +0200
        +++ out 2025-06-05 09:22:34.000000000 +0200
        @@ -1,4 +1,4 @@
        -1c1
        -< a
        ----
        -> b
        -./init.sh: line 692: 28308 Abort trap              LC_ALL=C diff 
$diff_opt_ "$@"
        + fail=1
        + for opt in ''\'''\''' -u -c
        + returns_ 1 diff -u a b

The trap closes here:

          640   
          641   # Arrange not to let diff or cmp operate on /dev/null,
          642   # since on some systems (at least OSF/1 5.1), that doesn't work.
          643   # When there are not two arguments, or no argument is 
/dev/null, return 2.
          644   # When one argument is /dev/null and the other is not empty,
          645   # cat the nonempty file to stderr and return 1.
          646   # Otherwise, return 0.
          647   compare_dev_null_ ()
          648   {
          649     test $# = 2 || return 2
          650   
          651     if test "x$1" = x/dev/null; then
          652       test -s "$2" || return 0
          653       emit_diff_u_header_ "$@"; sed 's/^/+/' "$2"
          654       return 1
          655     fi
          656   
          657     if test "x$2" = x/dev/null; then
          658       test -s "$1" || return 0
          659       emit_diff_u_header_ "$@"; sed 's/^/-/' "$1"
          660       return 1
          661     fi
          662   
          663     return 2
          664   }
          665   
          666   for diff_opt_ in -u -U3 -c '' no; do
          667     test "$diff_opt_" != no &&
          668       diff_out_=`exec 2>/dev/null
          669         LC_ALL=C diff $diff_opt_ "$0" "$0" < /dev/null` &&
          670       break
          671   done
          672   if test "$diff_opt_" != no; then
          673     if test -z "$diff_out_"; then
          674       # diff on msys2 does not support the '-' argument for 
denoting stdin.
          675       case `(uname -o) 2>/dev/null` in
          676         Msys)
          677           compare_ ()
          678           {
          679             if test " $1" = " -"; then
          680               cat > '(stdin)'
          681               LC_ALL=C diff $diff_opt_ '(stdin)' "$2"
          682             elif test " $2" = " -"; then
          683               cat > '(stdin)'
          684               LC_ALL=C diff $diff_opt_ "$1" '(stdin)'
          685             else
          686               LC_ALL=C diff $diff_opt_ "$@"
          687             fi
          688           }
          689           ;;
          690         *)
          691           compare_ ()
          692           {
          693             LC_ALL=C diff $diff_opt_ "$@"
          694           }
          695       esac
          696     else
          697       compare_ ()
          698       {
          699         # If no differences were found, AIX and HP-UX 'diff' 
produce output
          700         # like "No differences encountered".  Hide this output.
          701         LC_ALL=C diff $diff_opt_ "$@" > diff.out
          702         diff_status_=$?
          703         test $diff_status_ -eq 0 || cat diff.out || diff_status_=2
          704         rm -f diff.out || diff_status_=2
          705         return $diff_status_
          706       }
          707     fi
          708   elif cmp -s /dev/null /dev/null 2>/dev/null; then
          709     compare_ () { cmp -s "$@"; }
          710   else
          711     compare_ () { cmp "$@"; }
          712   fi


--
Greetings

  Pete

Rain is saved up in cloud banks.




Reply via email to