[petsc-dev] download-ml failure with perl-5.22
Jed Brown
jed at jedbrown.org
Mon Oct 5 15:52:45 CDT 2015
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).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20151005/0c947190/attachment.sig>
More information about the petsc-dev
mailing list