Subject: | Makefile.PL still assumes presence of '.' in @INC |
With the release of perl-5.26.0 in May 2017, the current working directory -- '.' -- is no longer present by default in @INC. This change was made for security reasons. While CPAN installer programs like 'cpan' and 'cpanm' still make '.' available to @INC for installation purposes, any other attempt to configure Test::Declare will fail with an error like this:
#####
$ perl Makefile.PL
Can't locate inc/Module/Install.pm in @INC (you may need to install the inc::Module::Install module) (@INC contains: /home/username/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0/x86_64-linux /home/username/perl5/perlbrew/perls/perl-5.26.0/lib/site_perl/5.26.0 /home/username/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0/x86_64-linux /home/username/perl5/perlbrew/perls/perl-5.26.0/lib/5.26.0) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
#####
Please review the patch attached.
Thank you very much.
Jim Keenan
Subject: | Test-Declare.Makefile.PL.diff |
--- Makefile.PL.0.06 2018-03-30 10:12:07.122428486 -0400
+++ Makefile.PL 2018-03-30 10:12:40.960499142 -0400
@@ -1,3 +1,4 @@
+BEGIN { push @INC, '.'; }
use inc::Module::Install;
name 'Test-Declare';
all_from 'lib/Test/Declare.pm';