perl versioning problem, how to get beyond for @world
On Mon, 14 May 2012 18:58:29 -0400
Harry Putnam <reader@newsguy.com> wrote: > I have a light minimalish system (noX) and not a lot installed but > for a the last few weeks, when I try to update with emerge -vuD world > > It caves about a perl versioning problem, and specifically about: > perl-core/Module-Build-0.400.0 > > Abbreviated output: > ,---- > | >>> Emerging (1 of 12) perl-core/Module-Build-0.400.0 > | * Module-Build-0.40.tar.gz RMD160 SHA1 SHA256 > size ;-) ... | [ ok ] > | >>> cfg-update-1.8.2-r1: Checksum index is up-to-date ... > | >>> Unpacking source... > | >>> Unpacking Module-Build-0.40.tar.gz to > | /var/tmp/portage/perl-core/Module-Build-0.400.0/work > | >>> Source unpacked > in /var/tmp/portage/perl-core/Module-Build-0.400.0/work | >>> > Preparing source in > | /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... > | >>> Source prepared. | >>> Configuring source in > | /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... > | * Using Module::Build > | * perl Build.PL --installdirs=vendor --libdoc= > | --destdir=/var/tmp/portage/perl-core/Module-Build-0.400.0/ima > | ge/ --create_packlist=0 > | *** BOOTSTRAPPING version *** > | Checking prerequisites... > | build_requires: > | ! Parse::CPAN::Meta (1.40) is installed, but we need version >= > | 1.4401 > | ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install > the versions | of the modules indicated above before proceeding with > this installation | > | Could not create MYMETA files > | Creating new 'Build' script for 'Module-Build' version '0.40' > | Copied META.yml to MYMETA.yml for bootstrapping > | > | These additional prerequisites must be installed: > | requires: > | ! version (we need version 0.87) > | >>> Source configured. > | >>> Compiling source in > | /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... > | version version 0.87 required--this is only version 0.82 at > | /usr/lib/perl5/vendor_perl/5.12.4/Module/Metadata > | .pm line 20. > | [...] > `---- > > I can't really see what to do about this... > > What is installed is: > > ,---- > | # eix -Ic|grep Parse.*Meta > | [i] perl-core/Parse-CPAN-Meta (1.440.400@05/03/12): Parse META.yml > and other | similar CPAN metadata files > | [i] virtual/perl-Parse-CPAN-Meta (1.440.400@04/25/12): Virtual for > Parse-CPAN-Meta `---- Perl and any package manager tend to make an ugly combination... Now, I've never seen this specific error before but it looks like perl thinks your installed Parse-CPAN-Meta is still the old version 1.40. It doesn't realize what portage did in the interim. Have a look in that ebuild and 1.440.400 and you'll see quite a difference. Does unmerging and remerging Parse-CPAN-Meta fix anything? -- Alan McKinnnon alan.mckinnon@gmail.com |
perl versioning problem, how to get beyond for @world
Alan McKinnon <alan.mckinnon@gmail.com> writes:
[...] >> | Checking prerequisites... >> | build_requires: >> | ! Parse::CPAN::Meta (1.40) is installed, but we need version >= >> | 1.4401 >> | ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install >> the versions | of the modules indicated above before proceeding with >> this installation | >> | Could not create MYMETA files >> | Creating new 'Build' script for 'Module-Build' version '0.40' >> | Copied META.yml to MYMETA.yml for bootstrapping >> | >> | These additional prerequisites must be installed: >> | requires: >> | ! version (we need version 0.87) >> | >>> Source configured. >> | >>> Compiling source in >> | /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... >> | version version 0.87 required--this is only version 0.82 at >> | /usr/lib/perl5/vendor_perl/5.12.4/Module/Metadata >> | .pm line 20. >> | [...] >> `---- >> >> I can't really see what to do about this... >> >> What is installed is: >> >> ,---- >> | # eix -Ic|grep Parse.*Meta >> | [i] perl-core/Parse-CPAN-Meta (1.440.400@05/03/12): Parse META.yml >> and other | similar CPAN metadata files >> | [i] virtual/perl-Parse-CPAN-Meta (1.440.400@04/25/12): Virtual for >> Parse-CPAN-Meta `---- > > Perl and any package manager tend to make an ugly combination... > > Now, I've never seen this specific error before but it looks like perl > thinks your installed Parse-CPAN-Meta is still the old version 1.40. It > doesn't realize what portage did in the interim. > > Have a look in that ebuild and 1.440.400 and you'll see quite a > difference. Quite a difference in what? Or compared to what? > Does unmerging and remerging Parse-CPAN-Meta fix anything? I tried emerge -vC the core Parse-CPAN-Meta and the Virtual Parse-CPAN-Meta Then eix-sync, then emerge -vuD world When it gets to building `perl-core/Module-Build-0.400.0' The same failure happens: ,---- | [...] | Checking prerequisites... | build_requires: | ! Parse::CPAN::Meta (1.40) is installed, but we need version >= 1.4401 | | ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions | of the modules indicated above before proceeding with this installation | | Could not create MYMETA files | Creating new 'Build' script for 'Module-Build' version '0.40' | Copied META.yml to MYMETA.yml for bootstrapping | | These additional prerequisites must be installed: | requires: | ! version (we need version 0.87) | >>> Source configured. | [...] `---- emerge has installed two very different [...]//Parse/CPAN/Meta.pm ,---- | ls -l /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm | /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm | | [...]10522 Apr 25 20:49 /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm | [...] 7582 May 11 20:13 /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm `---- And they say very different things: From /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm: [...] # Class structure require 5.004; require Exporter; $Parse::CPAN::Meta::VERSION = '1.40'; @Parse::CPAN::Meta::ISA = qw{ Exporter }; @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile }; [...] From /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm: # Class structure require 5.004; require Exporter; $Parse::CPAN::Meta::VERSION = '1.4404'; @Parse::CPAN::Meta::ISA = qw{ Exporter }; @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile }; One looks for 1.40, the other for 1.4404 I don't know what the code does but, is this possibly the problem? If so its not at all clear what to do about it. qfile on /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm Shows it comes from the main perl installation: qfile /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm ,---- | dev-lang/perl (/usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm) `---- So that is from the main perl installation. Just renaming /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm to /usr/lib/perl5/5.12.4/Parse/CPAN/XMeta.pmX Causes a new miss match on version when building perl-core/Module-Build-0.400.0 ,---- | *** BOOTSTRAPPING version *** | Could not create MYMETA files | Creating new 'Build' script for 'Module-Build' version '0.40' | Copied META.yml to MYMETA.yml for bootstrapping | | These additional prerequisites must be installed: | requires: | ! version (we need version 0.87) | >>> Source configured. | >>> Compiling source in /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... | version version 0.87 required--this is only version 0.82 at /usr/lib/perl5/vendor_perl/5.12.4/Module/Metadata.pm line 20. `---- So it appears there is some deeper mangling somewhere. |
perl versioning problem, how to get beyond for @world
It looks like the @INC list (the directory list perl uses for finding
its modules) is not right or is not processed right. Only one directory is looked into? (You can see @INC with "perl -V", it should be up to about ten directories on a Gentoo install.) Unless you really, really want to know exactly which bit from which package is sideways you might get out of the hole simply with: perl-cleaner --reallyall -- Arttu V. On 5/18/12, Harry Putnam <reader@newsguy.com> wrote: > Alan McKinnon <alan.mckinnon@gmail.com> writes: > > [...] > >>> | Checking prerequisites... >>> | build_requires: >>> | ! Parse::CPAN::Meta (1.40) is installed, but we need version >= >>> | 1.4401 >>> | ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install >>> the versions | of the modules indicated above before proceeding with >>> this installation | >>> | Could not create MYMETA files >>> | Creating new 'Build' script for 'Module-Build' version '0.40' >>> | Copied META.yml to MYMETA.yml for bootstrapping >>> | >>> | These additional prerequisites must be installed: >>> | requires: >>> | ! version (we need version 0.87) >>> | >>> Source configured. >>> | >>> Compiling source in >>> | /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 >>> ... >>> | version version 0.87 required--this is only version 0.82 at >>> | /usr/lib/perl5/vendor_perl/5.12.4/Module/Metadata >>> | .pm line 20. >>> | [...] >>> `---- >>> >>> I can't really see what to do about this... >>> >>> What is installed is: >>> >>> ,---- >>> | # eix -Ic|grep Parse.*Meta >>> | [i] perl-core/Parse-CPAN-Meta (1.440.400@05/03/12): Parse META.yml >>> and other | similar CPAN metadata files >>> | [i] virtual/perl-Parse-CPAN-Meta (1.440.400@04/25/12): Virtual for >>> Parse-CPAN-Meta `---- >> >> Perl and any package manager tend to make an ugly combination... >> >> Now, I've never seen this specific error before but it looks like perl >> thinks your installed Parse-CPAN-Meta is still the old version 1.40. It >> doesn't realize what portage did in the interim. >> >> Have a look in that ebuild and 1.440.400 and you'll see quite a >> difference. > > Quite a difference in what? Or compared to what? > >> Does unmerging and remerging Parse-CPAN-Meta fix anything? > > I tried emerge -vC the core Parse-CPAN-Meta and the Virtual > Parse-CPAN-Meta > > Then eix-sync, then emerge -vuD world > > When it gets to building `perl-core/Module-Build-0.400.0' > > The same failure happens: > > ,---- > | [...] > | Checking prerequisites... > | build_requires: > | ! Parse::CPAN::Meta (1.40) is installed, but we need version >= > 1.4401 > | > | ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the > versions > | of the modules indicated above before proceeding with this installation > | > | Could not create MYMETA files > | Creating new 'Build' script for 'Module-Build' version '0.40' > | Copied META.yml to MYMETA.yml for bootstrapping > | > | These additional prerequisites must be installed: > | requires: > | ! version (we need version 0.87) > | >>> Source configured. > | [...] > `---- > > emerge has installed two very different [...]//Parse/CPAN/Meta.pm > > ,---- > | ls -l /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm > | /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm > | > | [...]10522 Apr 25 20:49 /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm > | [...] 7582 May 11 20:13 > /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm > `---- > > And they say very different things: > > From /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm: > > [...] > # Class structure > require 5.004; > require Exporter; > $Parse::CPAN::Meta::VERSION = '1.40'; > @Parse::CPAN::Meta::ISA = qw{ Exporter }; > @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile }; > [...] > > From /usr/lib/perl5/vendor_perl/5.12.4/Parse/CPAN/Meta.pm: > > # Class structure > require 5.004; > require Exporter; > $Parse::CPAN::Meta::VERSION = '1.4404'; > @Parse::CPAN::Meta::ISA = qw{ Exporter }; > @Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile }; > > One looks for 1.40, the other for 1.4404 > > I don't know what the code does but, is this possibly the problem? If > so its not at all clear what to do about it. > > qfile on /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm > Shows it comes from the main perl installation: > > qfile /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm > ,---- > | dev-lang/perl (/usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm) > `---- > So that is from the main perl installation. > > Just renaming /usr/lib/perl5/5.12.4/Parse/CPAN/Meta.pm to > /usr/lib/perl5/5.12.4/Parse/CPAN/XMeta.pmX > > Causes a new miss match on version when building > perl-core/Module-Build-0.400.0 > ,---- > | *** BOOTSTRAPPING version *** > | Could not create MYMETA files > | Creating new 'Build' script for 'Module-Build' version '0.40' > | Copied META.yml to MYMETA.yml for bootstrapping > | > | These additional prerequisites must be installed: > | requires: > | ! version (we need version 0.87) > | >>> Source configured. > | >>> Compiling source in > /var/tmp/portage/perl-core/Module-Build-0.400.0/work/Module-Build-0.40 ... > | version version 0.87 required--this is only version 0.82 at > /usr/lib/perl5/vendor_perl/5.12.4/Module/Metadata.pm line 20. > `---- > > So it appears there is some deeper mangling somewhere. > > > > |
perl versioning problem, how to get beyond for @world
"Arttu V." <arttuv69@gmail.com> writes:
> It looks like the @INC list (the directory list perl uses for finding > its modules) is not right or is not processed right. Only one > directory is looked into? (You can see @INC with "perl -V", it should > be up to about ten directories on a Gentoo install.) Doesn't seem to have been related to @INC as that variable contains all the usual suspects. Far as processing that may be the problem. > Unless you really, really want to know exactly which bit from which > package is sideways you might get out of the hole simply with: > perl-cleaner --reallyall Thanks for that. I did `perl-cleaner --reallyall' but the emerge process engendered by it failed again at the same perl module: perl-core/Module-Build-0.400.0 ------- --------- ---=--- --------- -------- Here is what seems to have fixed things up... I'm not sure if all of it is required, but what I finally did was unmask the hard mask on perl-5.14 Emerged that with -uD flags which caused the same troublesome perl-core/Module-Build-0.400.0 to be installed after the new perl was installed and it went by without a whimper. Then followed with perl-cleaner --all, followed by revdep-rebuild. (neither of those seemed to find much to do). Apparently the perl change was fully cleaned up during install so perl-cleaner had nothing to do. And finally `eix-sync' followed by `emerge -vuDp @world' which revealed that those troublesome perl modules: perl-core/Module-Build-0.400.0 and Parse::CPAN::Meta are now not coming up since they are installed. However I see a new gcc in the output so thinking I'll install that by itself and set the new one up as active before doing `emerge -vuD @world' I'll post this once I see if a full emerge -vuD @world works without failure. tic toc . tic toc .... OK, the full `emerge -vuD @world', followed by `revdep-rebuild' has gone down trouble free.... all fixed I guess. |
| All times are GMT. The time now is 07:41 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.