Oct 062017

with the new perl 5.26.1 in current you might have the bad surprise of your perl module build script breaking: this happens because upstream decided to remove . from INC, so every perl module that uses a local directory in its own sources to have additional stuff available during building, and counts on including it because before perl-26.x this was the normal behaviour, breaks with this change, and modules like these are an awful lot 🙁

maybe this is a tecnique by the perl devs to spot unmaintained stuff, but it’s also a PITA.

luckily for us the old behaviour, at least with perl-5.26.x, could be reinstated exporting a variable PERL_USE_UNSAFE_INC=1 in your build environment: I will definitely use this method for now to build my packages.

obviously, this won’t help any of the installed scripts/perl modules will try to use . as an include path at runtime and also if any pre-existing perl scripts in your system will try to use it.

the long term solution for build-time will be achieved for every perl module affected adding to their own Makefile.PL a line

use lib ".";

in case of a script you would want to add at its top or edit it to look for includes in standard or specific paths.

if you don’t want to patch the Makefile.PL an alternative that will let you build such modules is to insert an additional line

export PERL5LIB=.

before the line

perl Makefile.PL \

in your affected perl-*.SlackBuild.

hopefully the new perl modules versions will be shipped by upstream ready to build/run with perl 5.26.x…

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>