Perl-Critic tests failed due to missing Perl packages tests are silently dependent on, namely: List::MoreUtils version.pm Clone.pm Reproducible: Always Steps to Reproduce: 1. emerge =Perl-Critic-1.096 Actual Results: Part of build log: ..... * Using Module::Build Creating custom builder _build/lib/MyModuleBuilder.pm in _build/lib Checking whether your kit is complete... Looks good Checking prerequisites... - ERROR: version is not installed - ERROR: List::MoreUtils is not installed * Optional prerequisite File::HomeDir is not installed * Optional prerequisite File::Which is not installed * Optional prerequisite Readonly::XS is not installed * Optional prerequisite Regexp::Parser is not installed * Optional prerequisite Pod::Spell is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Creating new 'Build' script for 'Perl-Critic' version '1.096' Versions of optional/unlisted/indirect dependencies: File::HomeDir = not installed File::Which = not installed IPC::Open2 = 1.02 Perl::Tidy = 20070508 Pod::Spell = not installed Readonly::XS = not installed Regexp::Parser = not installed Term::ANSIColor = 1.10 Text::ParseWords = 3.24 ..... Expected Results: Merged package. FEATURES=-test emerge Perl-Critic works ok.
Changing to major. When installing with FEATURES=-test, the result is a broken installation of Perl-Critic: # perlcritic Can't locate List/MoreUtils.pm in @INC (@INC contains: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at /usr/lib/perl5/vendor_perl/5.8.8/PPI/Node.pm line 55.
Ok, the problem was in my installation. Packages were installed, but perl didn't detect them. The problem was probably, that I've enabled ithreads, rebuilt perl, but didn't reemerge all Perl packages. After reemerging Clone, version and List-MoreUtils, everything works ok. Shouldn't this be a bug of perl ebuilds in general? Perl ebuild itself says nothing about reemerging all perl packages after enabling ithreads. See emerge log of Clone, it actually points to the fact, that files are at wrong location after enabling ithreads: --- /usr/ --- /usr/lib/ --- /usr/lib/perl5/ --- /usr/lib/perl5/5.8.8/ --- /usr/lib/perl5/5.8.8/i686-linux-thread-multi/ --- /usr/lib/perl5/vendor_perl/ --- /usr/lib/perl5/vendor_perl/5.8.8/ --- /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/ --- /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/ >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/Clone/ >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/Clone/autosplit.ix >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/Clone/.packlist >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/Clone/Clone.bs >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/auto/Clone/Clone.so >>> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/Clone.pm --- /usr/share/ --- /usr/share/doc/ --- /usr/share/doc/Clone-0.29/ >>> /usr/share/doc/Clone-0.29/Changes.bz2 >>> /usr/share/doc/Clone-0.29/MANIFEST.bz2 >>> Safely unmerging already-installed instance... No package files given... Grabbing a set. --- replaced obj /usr/share/doc/Clone-0.29/MANIFEST.bz2 --- replaced obj /usr/share/doc/Clone-0.29/Changes.bz2 --- replaced dir /usr/share/doc/Clone-0.29 --- replaced dir /usr/share/doc --- replaced dir /usr/share <<< obj /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Clone/autosplit.ix <<< obj /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Clone/Clone.so <<< obj /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Clone/Clone.bs <<< obj /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Clone/.packlist <<< obj /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/Clone.pm --- replaced dir /usr/lib/perl5/vendor_perl/5.8.8 --- replaced dir /usr/lib/perl5/vendor_perl --- replaced dir /usr/lib/perl5/5.8.8 --- replaced dir /usr/lib/perl5 --- replaced dir /usr/lib --- replaced dir /usr <<< dir /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/Clone --- !empty dir /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto --- !empty dir /usr/lib/perl5/vendor_perl/5.8.8/i686-linux --- !empty dir /usr/lib/perl5/5.8.8/i686-linux
*** This bug has been marked as a duplicate of bug 222767 ***