This seems to be due to missing dependencies on dev-perl/File-BaseDir and dev-perl/File-DesktopEntry. >>> Emerging (1 of 14) dev-perl/File-MimeInfo-0.170.0 * File-MimeInfo-0.17.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking File-MimeInfo-0.17.tar.gz to /var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work >>> Source unpacked in /var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work >>> Preparing source in /var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work/File-MimeInfo-0.17 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work/File-MimeInfo-0.17 ... * Using Module::Build * perl Build.PL --installdirs=vendor --libdoc= --destdir=/var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/image/ --create_packlist=0 Checking prerequisites... requires: ! File::BaseDir is not installed ! File::DesktopEntry 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 Run 'Build installdeps' to install missing prerequisites. Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'File-MimeInfo' version '0.17' >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work/File-MimeInfo-0.17 ... Module::Build version 0.40 required--this is only version 0.3901 at ./Build line 41. * ERROR: dev-perl/File-MimeInfo-0.170.0::gentoo failed (compile phase): * Compilation failed * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 2333: Called perl-module_src_compile * environment, line 1935: Called die * The specific snippet of code: * ./Build build || die "Compilation failed"; * * If you need support, post the output of `emerge --info '=dev-perl/File-MimeInfo-0.170.0::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-perl/File-MimeInfo-0.170.0::gentoo'`. * The complete build log is located at '/var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work/File-MimeInfo-0.17' * S: '/var/tmp/portage/dev-perl/File-MimeInfo-0.170.0/work/File-MimeInfo-0.17' # emerge -pqv '=dev-perl/File-MimeInfo-0.170.0::gentoo' [ebuild U ] dev-perl/File-MimeInfo-0.170.0 [0.150.0] USE="{-test}" emerge --info '=dev-perl/File-MimeInfo-0.170.0::gentoo' is attached.
No, all right dev-perl/File-MimeInfo-0.170.0 already depends on dev-perl/File-BaseDir and File-DesktopEntry. Moreover, we have perl-core/Module-Build-0.400.300 stable. Your log said "...this is only version 0.3901..."
Re-opening, since my emerge still *fails* with the exact same error even after a --sync today. The underlying bug could be elsewhere, since: # equery l Module-Build * Searching for Module-Build ... [IP-] [ ] perl-core/Module-Build-0.400.300:0 I'm happy to provide any information you need. If you'd like me to file a different bug on the different package, I'm happy to. But please don't close the bug without the failing emerge being resolved.
Did you run `perl-cleaner --all` ?
(In reply to Prashanth Mundkur from comment #2) > Re-opening, since my emerge still *fails* with the exact same error even > after a --sync today. The underlying bug could be elsewhere, since: > > # equery l Module-Build > * Searching for Module-Build ... > [IP-] [ ] perl-core/Module-Build-0.400.300:0 > > I'm happy to provide any information you need. If you'd like me to file a > different bug on the different package, I'm happy to. But please don't > close the bug without the failing emerge being resolved. It seems that you have some problems with different (maybe installed by hand) module version loading. Try to execute: perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' It'll tell you version of module that is loaded. If it's not 0.4003 (for 0.400.300 version), you can try to execute: strace -e open perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' 2>&1 | grep Build.pm (you need strace to be installed on your system) It will tell you what file is loaded. For example on amd64 you should have something like this: open("/usr/lib64/perl5/vendor_perl/5.16.3/Module/Build.pm", O_RDONLY) = 4 So it opens .pm file from /usr/lib64/perl5/vendor_perl/5.16.3/Module folder. If you see '/usr/local...' in open syscall, then your problem is definitely hand-installed package and it's nothing portage related here.
I got: $ strace -e open perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' 2>&1 | grep Build.pm open("/usr/lib64/perl5/5.16.3/Module/Build.pm", O_RDONLY) = 4 $ perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' 0.3901 But running 'perl-cleaner --all' after that helped, and now the emerge issue has disappeared. Thanks!
*** Bug 502998 has been marked as a duplicate of this bug. ***
*** Bug 506032 has been marked as a duplicate of this bug. ***
I've filed the duplicate (506032) of this bug. I tried perl-cleaner --all, however it doesn't work fine. As I reported bug 506032, dev-perl/File-MimeInfo-0.170.0 fails. perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' responds: 0.3901. strace -e open perl -MModule::Build -e 'print "$Module::Build::VERSION\n";' 2>&1 | grep Build.pm responds: open("/usr/lib/perl5/5.16.3/Module/Build.pm", O_RDONLY|O_LARGEFILE) = 4. Regards,
That "open" test is not very useful outside ruling out non-portage managed files, because it only tells you which Module::Build it *does* find, not the one that is installed but not being found. > equery list perl virtual/perl-Module-Build perl-core/Module-Build and > query files perl-core/Module-Build should be consulted to confirm that Module::Build is in fact installed correctly, and that you don't have a "broken" perl-core/Module-Build that was built for an older version of perl and needs to be rebuilt due to perl being upgraded.
equery list perl virtual/perl-Module-Build perl-core/Module-Build resopnds: ----- dev-lang/perl-5.16.3 virtual/perl-Module-Build-0.400.300 perl-core/Module-Build-0.400.300 ------ equery files perl-core/Module-Build responds: ----- /usr /usr/bin /usr/bin/config_data-0.400.300-Module-Build-0.400.300 /usr/lib /usr/lib/perl5 /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl/5.12.4 /usr/lib/perl5/vendor_perl/5.12.4/Module /usr/lib/perl5/vendor_perl/5.12.4/Module/Build /usr/lib/perl5/vendor_perl/5.12.4/Module/Build.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/API.pod /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Authoring.pod /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Base.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Bundling.pod /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Compat.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Config.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/ConfigData.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Cookbook.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Dumper.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/ModuleInfo.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Notes.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/PPMMaker.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/Amiga.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/Default.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/EBCDIC.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/MPEiX.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/MacOS.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/RiscOS.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/Unix.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/VMS.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/VOS.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/Windows.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/aix.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/cygwin.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/darwin.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Platform/os2.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/PodParser.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/Version.pm /usr/lib/perl5/vendor_perl/5.12.4/Module/Build/YAML.pm /usr/lib/perl5/vendor_perl/5.12.4/inc /usr/lib/perl5/vendor_perl/5.12.4/inc/latest /usr/lib/perl5/vendor_perl/5.12.4/inc/latest.pm /usr/lib/perl5/vendor_perl/5.12.4/inc/latest/private.pm /usr/share /usr/share/doc /usr/share/doc/Module-Build-0.400.300 /usr/share/doc/Module-Build-0.400.300/Changes.bz2 /usr/share/doc/Module-Build-0.400.300/README.bz2 /usr/share/man /usr/share/man/man1 /usr/share/man/man1/config_data-0.400.300-Module-Build-0.400.300.1.bz2 20140331_equery.log lines 17-57/57 (END) ----- What should I next?
Right, this indicates that perl-core/Module-Build is still in the condition it was when you had perl 5.12. Now you have installed perl-5.16, those files are no longer visible. Which is what happens if you either didn't run perl-cleaner, or perl cleaner for some reason failed. > equery b -n /usr/lib/perl5/vendor_perl/5.12.4/ This will produce a list of packages that portage thinks are installed, but perl doesn't realise are installed, and must be reinstalled "Somehow" for things to work. > emerge -vat1 --keep-going $( equery b -n /usr/lib/perl5/vendor_perl/5.16.0/ | sed 's/ .*//' ) This may help get you started, and is only a fallback to work around the possibility perl-cleaner isn't working for you. Though perl-cleaner *should* work, and should do other things that this approach does not cover. NB: This is really a bug tracker, not a help network, but https://wiki.gentoo.org/wiki/Knowledge_Base:Software_builds_fail_with_perl_module_missing_even_though_it_is_installed is not sufficiently clear for this scenario.
I succeeded to update perl modules following the gentoo wiki: https://wiki.gentoo.org/wiki/Knowledge_Base:Software_builds_fail_with_perl_module_missing_even_though_it_is_installed and have successfully emerged File-MimeInfo. However, perl-cleaner doesn't work. I open the new bug about it.