Skip Menu |

This queue is for tickets about the Catalyst-Runtime CPAN distribution.

Report information
The Basics
Id: 121109
Status: resolved
Priority: 0/
Queue: Catalyst-Runtime

People
Owner: Nobody in particular
Requestors: DCOLLINS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 5.90117



Subject: Makefile.PL fails with no '.' in @INC
A recent security patch to Perl itself removed '.', the current working directory, from \@INC, the default search path for 'use', 'do', and 'require'. This fix for CVE-2016-1238 will be part of Perl 5.26.0, due to be released this April, 2017. CPAN clients will *temporarily* provide backwards compatibility during the module build/test process by setting the environment variable PERL_USE_UNSAFE_INC=1 during build, test, and install. HOWEVER: 1) This environment variable is a temporary fix only for compatibility, due to be removed for Perl 5.30.0. 2) This may mask errors in your module itself, by testing your module under different conditions than those that it will actually be run under. To read more about this, you may find the following links helpful: * http://blogs.perl.org/users/todd_rinaldo/2016/11/how-removing-from-inc-is-about-to-break-cpan.html * https://www.perlmonks.org/?node_id=1186105 * http://www.nntp.perl.org/group/perl.perl5.porters/2017/03/msg243722.html During a smoke-test of all of cpan, your distribution was found to be unable to configure, build, test, or install without adding '.' to @INC. This means that your distribution *will* stop building properly for all users when the CPAN clients remove this temporary compatibility fix, and that it *may* already have problems when `use`d, problems which are being masked by this temporary compatibility fix. A full error log follows: ---- Output from '/home/cpan2/install/bin/perl Makefile.PL': Can't locate inc/Module/Install.pm in @INC (you may need to install the inc::Module::Install module) (@INC contains: /tmp/CPAN-Reporter-lib-yHCk /home/cpan2/install/lib/perl5/site_perl/5.26.0/x86_64-linux-thread-multi /home/cpan2/install/lib/perl5/site_perl/5.26.0 /home/cpan2/install/lib/perl5/5.26.0/x86_64-linux-thread-multi /home/cpan2/install/lib/perl5/5.26.0) at Makefile.PL line 3. BEGIN failed--compilation aborted at Makefile.PL line 3. ------------------------------ PREREQUISITES ------------------------------ Prerequisite modules loaded: configure_requires: Module Need Have ------------------- ---- ---- ExtUtils::MakeMaker 6.59 7.24 ------------------------------ ENVIRONMENT AND OTHER CONTEXT ------------------------------ Environment variables: AUTOMATED_TESTING = 1 HARNESS_OPTIONS = j3 LANG = en_US.UTF-8 PATH = /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PERL = /home/cpan2/install/bin/perl PERL5LIB = PERL5OPT = -I/tmp/CPAN-Reporter-lib-yHCk -MDevel::Autoflush PERL5_CPANPLUS_IS_RUNNING = 27004 PERL5_CPAN_IS_EXECUTING = /home/cpan2/.cpan/build/Catalyst-Runtime-5.90114-0/Makefile.PL PERL5_CPAN_IS_RUNNING = 27004 PERL5_CPAN_IS_RUNNING_IN_RECURSION = 28757,27004 PERL_AUTOINSTALL = --defaultdeps PERL_CR_SMOKER_CURRENT = Catalyst-Controller-SimpleCAS-1.001 PERL_CR_SMOKER_RUNONCE = 1 PERL_EXTUTILS_AUTOINSTALL = --defaultdeps PERL_MM_USE_DEFAULT = 1 PERL_USE_UNSAFE_INC = 0 SHELL = /bin/bash TERM = putty-256color Perl special variables (and OS-specific diagnostics, for MSWin32): $^X = /home/cpan2/install/bin/perl $UID/$EUID = 1003 / 1003 $GID = 1003 1003 $EGID = 1003 1003 Perl module toolchain versions installed: Module Have ------------------- ---------- CPAN 2.17 CPAN::Meta 2.150010 Cwd 3.67 ExtUtils::CBuilder 0.280225 ExtUtils::Command 7.24 ExtUtils::Install 2.04 ExtUtils::MakeMaker 7.24 ExtUtils::Manifest 1.70 ExtUtils::ParseXS 3.34 File::Spec 3.67 JSON 2.90 JSON::PP 2.27400_02 Module::Build 0.4222 Module::Signature n/a Parse::CPAN::Meta 2.150010 Test::Harness 3.39 Test::More 1.302081 YAML 1.23 YAML::Syck 1.29 version 0.9917 -- Summary of my perl5 (revision 5 version 26 subversion 0) configuration: Commit id: f57d8456e7b8d6b2dad0bb49899cfdc68007b794 Platform: osname=linux osvers=3.16.0-4-amd64 archname=x86_64-linux-thread-multi uname='linux digitalis 3.16.0-4-amd64 #1 smp debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 gnulinux ' config_args='-Dusedevel -DDEBUGGING -Dusethreads -Dprefix=/home/cpan2/install -Uversiononly -des' hint=recommended useposix=true d_sigaction=define useithreads=define usemultiplicity=define use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2' optimize='-O2 -g' cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='4.9.2' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64 libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.19.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.19' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_TRACK_MEMPOOL PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at Apr 11 2017 21:42:25 %ENV: PERL="/home/cpan2/install/bin/perl" PERL5LIB="" PERL5OPT="" PERL5_CPANPLUS_IS_RUNNING="27004" PERL5_CPAN_IS_EXECUTING="/home/cpan2/.cpan/build/Catalyst-Runtime-5.90114-0/Makefile.PL" PERL5_CPAN_IS_RUNNING="27004" PERL5_CPAN_IS_RUNNING_IN_RECURSION="28757,27004" PERL_AUTOINSTALL="--defaultdeps" PERL_CR_SMOKER_CURRENT="Catalyst-Controller-SimpleCAS-1.001" PERL_CR_SMOKER_RUNONCE="1" PERL_EXTUTILS_AUTOINSTALL="--defaultdeps" PERL_MM_USE_DEFAULT="1" PERL_USE_UNSAFE_INC="0" @INC: /home/cpan2/install/lib/perl5/site_perl/5.26.0/x86_64-linux-thread-multi /home/cpan2/install/lib/perl5/site_perl/5.26.0 /home/cpan2/install/lib/perl5/5.26.0/x86_64-linux-thread-multi /home/cpan2/install/lib/perl5/5.26.0
It's time to finally get this distribution off of Module::Install!
While much of the problem lies with Module::Install, there are other dependency problems. I tried to build Catalyst-Runtime with PERL_USE_UNSAFE_INC set to 0. ##### [Catalyst-Runtime] 1308 $ ~/testing/blead/bin/perl -I~/testing/blead/lib Makefile.PL include /home/jkeenan/gitwork/zzzothers/Catalyst-Runtime/inc/Module/Install.pm Module::Install extensions failed, not installed? Module::Install::AuthorRequires Module::Install::CheckConflicts Module::Install::Authority ##### I managed to install those dependencies. Then I tried again: ##### [Catalyst-Runtime] 1309 $ ~/testing/blead/bin/perl -I~/testing/blead/lib Makefile.PL include /home/jkeenan/gitwork/zzzothers/Catalyst-Runtime/inc/Module/Install.pm include inc/Module/Install/Metadata.pm include inc/Module/Install/Base.pm include inc/Module/Install/Authority.pm include inc/Module/Install/Makefile.pm include inc/Module/Install/Can.pm include inc/Module/Install/AuthorTests.pm include inc/Module/Install/AuthorRequires.pm Can't find author dependency CatalystX::LeakChecker version 0.05 Can't find author dependency Catalyst::Devel version 1.0 Can't find author dependency Test::WWW::Mechanize::Catalyst version 0.51 Can't find author dependency Test::TCP version 2.00 Can't find author dependency Starman Can't find author dependency MooseX::Daemonize Can't find author dependency Test::Spelling Can't find author dependency Catalyst::Plugin::Params::Nested Can't find author dependency Catalyst::Plugin::ConfigLoader at /home/jkeenan/testing/blead/lib/perl5/site_perl/5.26.0/Module/Install/Admin/AuthorRequires.pm line 24. ##### I then tried to install those dependencies: ##### bin/cpanm --mirror ~/minicpan --verbose CatalystX::LeakChecker CatalystX::LeakChecker Test::WWW::Mechanize::Catalyst Test::TCP Starman MooseX::Daemonize Test::Spelling Catalyst::Plugin::Params::Nested Catalyst::Plugin::ConfigLoader ##### I'll attach a grep of the cpanm build.log for that process. The grep will show all lines containing the string 'FAIL'. Thank you very much. Jim Keenan 'perl Makefile.PL' failed but indicated which
Subject: catalyst-runtime-FAILs.txt

Message body is not shown because it is too large.

Fixed in 5.90117.