On Solaris 10 sparc, "make check" fails with the attached output.
Solaris 10 has Perl v5.8.4 (with 46 registered patches), which is still
maintained by Oracle (most recently updated in 2016).
I guess the GNU Make test procedure currently requires a later version
of Perl. If so, it'd be helpful for it to skip tests that require a
newer version of Perl than what's installed. Or if it's easy to port to
v5.8.4 that'd be good too.
$ make check
Making check in lib
make check-recursive
Making check in po
Making check in doc
make check-local
cd tests && perl ./run_make_tests.pl -srcdir
/var/run/rpc_door/eggert/make-4.2.91 -make ../make
syntax error at ./run_make_tests.pl line 473, near "or continue"
Execution of ./run_make_tests.pl aborted due to compilation errors.
*** Error code 255
The following command caused the error:
if test -f './tests/run_make_tests'; then \
ulimit -n 128; \
if perl -v >/dev/null 2>&1; then \
case `cd '.'; pwd` in `pwd`) : ;; \
*) test -d tests || mkdir tests; \
rm -f srctests; \
if ln -s './tests' srctests; then \
for f in run_make_tests run_make_tests.pl test_driver.pl scripts
jhelp.pl; do \
rm -f tests/$f; ln -s ../srctests/$f tests; \
done; fi ;; \
esac; \
echo "cd tests && perl ./run_make_tests.pl -srcdir
/var/run/rpc_door/eggert/make-4.2.91 -make ../make "; \
cd tests && perl ./run_make_tests.pl -srcdir
'/var/run/rpc_door/eggert/make-4.2.91' -make '../make' ; \
else \
echo "Can't find a working Perl (perl); the test suite requires Perl."; \
fi; \
else \
echo "Can't find the GNU Make test suite (./tests)."; \
fi
make: Fatal error: Command failed for target `check-regression'
Current working directory /var/run/rpc_door/eggert/make-4.2.91
*** Error code 1
make: Fatal error: Command failed for target `check-am'
Current working directory /var/run/rpc_door/eggert/make-4.2.91
*** Error code 1
The following command caused the error:
fail=; \
if (target_option=k; case ${target_option-} in ?) ;; *) echo
"am__make_running_with_option: internal error: invalid" "target option
'${target_option-}' specified" >&2; exit 1;; esac; has_opt=no;
sane_makeflags=$MAKEFLAGS; if { if test -z ''; then false; elif test -n
'sparc-sun-solaris2.10'; then true; elif test -n '' && test -n ''; then
true; else false; fi; }; then sane_makeflags=$MFLAGS; else case
$MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS"
| sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no;
strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for
flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue;
}; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;;
-*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*)
strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*)
strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac;
case $flg in *$target_option*) has_opt=yes; break;; esac; done; test
$has_opt = yes); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo check-recursive | sed s/-recursive//`; \
case "check-recursive" in \
distclean-* | maintainer-clean-*) list='lib po doc' ;; \
*) list='lib po doc' ;; \
esac; \
for subdir in $list; do \
echo "Making $target in $subdir"; \
if test "$subdir" = "."; then \
dot_seen=yes; \
local_target="$target-am"; \
else \
local_target="$target"; \
fi; \
(CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \
|| eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
make "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `check-recursive'
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make