Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 502192 - dev-perl/File-MimeInfo-0.170.0 - Module::Build version 0.40 required--this is only version 0.3901 at ./Build line 41.
Summary: dev-perl/File-MimeInfo-0.170.0 - Module::Build version 0.40 required--this is...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
: 502998 506032 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-02-23 03:30 UTC by Prashanth Mundkur
Modified: 2014-04-02 02:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Prashanth Mundkur 2014-02-23 03:30:21 UTC
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.
Comment 1 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-02-23 18:15:03 UTC
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..."
Comment 2 Prashanth Mundkur 2014-02-24 02:54:23 UTC
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.
Comment 3 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-02-24 09:32:48 UTC
Did you run `perl-cleaner --all` ?
Comment 4 Vladimir Smirnov (RETIRED) gentoo-dev 2014-02-24 11:50:49 UTC
(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.
Comment 5 Prashanth Mundkur 2014-02-24 14:09:58 UTC
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!
Comment 6 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-02-28 17:16:28 UTC
*** Bug 502998 has been marked as a duplicate of this bug. ***
Comment 7 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2014-03-28 13:52:59 UTC
*** Bug 506032 has been marked as a duplicate of this bug. ***
Comment 8 Hiroshi Takenaka 2014-03-31 06:35:45 UTC
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,
Comment 9 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2014-03-31 06:57:27 UTC
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.
Comment 10 Hiroshi Takenaka 2014-03-31 08:05:03 UTC
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?
Comment 11 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2014-03-31 09:57:39 UTC
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.
Comment 12 Hiroshi Takenaka 2014-04-02 02:31:07 UTC
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.