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

Reply via email to