My --download-ml fails with the following:

perl ./config/generate-makeoptions.pl ./src/Makefile ML > 
/home/jed/petsc/mpich-optg/include/Makefile.export.ml.macros
Makefile:754: recipe for target 'install-exec-hook' failed
make[3]: Leaving directory '/home/jed/petsc/mpich-optg/externalpackages/ml'
Makefile:645: recipe for target 'install-exec-am' failed
make[2]: Leaving directory '/home/jed/petsc/mpich-optg/externalpackages/ml'
Makefile:602: recipe for target 'install-am' failed
make[1]: Leaving directory '/home/jed/petsc/mpich-optg/externalpackages/ml'
Makefile:325: recipe for target 'install-recursive' failedCan't use 
'defined(@array)' (Maybe you should just omit the defined()?) at 
./config/generate-makeoptions.pl line 13.

The relevant code is:

  if( !(defined(@ARGV) && scalar(@ARGV)==2) ) {
    die "Error, this script takes two and only two arguments (makefile_name 
package_name).!\n";
  }

Using defined() on arrays has been deprecated for ages, but was finally
removed in perl 5.22.

https://metacpan.org/pod/distribution/perl/pod/perldelta.pod#defined-array-and-defined-hash-are-now-fatal-errors


I rarely touch Perl, but I think they could safely rewrite this as

  if($#ARGV != 1) {


Also, this file was deleted over 4 years ago in their repository.  I
feel like we're going to become de-facto maintainers of standalone ML if
we don't find a way to move to the version that upstream develops (which
is now tangled in Trilinos, at least from a build perspective).

Attachment: signature.asc
Description: PGP signature

Reply via email to