> Am 21.05.2025 um 13:35 schrieb Peter Dyballa <[email protected]>:
>
> 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.