public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] perl versioning problem, how to get beyond for @world
@ 2012-05-14 22:58 Harry Putnam
  2012-05-14 23:21 ` Alan McKinnon
  0 siblings, 1 reply; 5+ messages in thread
From: Harry Putnam @ 2012-05-14 22:58 UTC (permalink / raw
  To: gentoo-user

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
`----




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-user] perl versioning problem, how to get beyond for @world
  2012-05-14 22:58 [gentoo-user] perl versioning problem, how to get beyond for @world Harry Putnam
@ 2012-05-14 23:21 ` Alan McKinnon
  2012-05-18  1:03   ` [gentoo-user] " Harry Putnam
  0 siblings, 1 reply; 5+ messages in thread
From: Alan McKinnon @ 2012-05-14 23:21 UTC (permalink / raw
  To: gentoo-user

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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-user] Re: perl versioning problem, how to get beyond for @world
  2012-05-14 23:21 ` Alan McKinnon
@ 2012-05-18  1:03   ` Harry Putnam
  2012-05-21 18:42     ` Arttu V.
  0 siblings, 1 reply; 5+ messages in thread
From: Harry Putnam @ 2012-05-18  1:03 UTC (permalink / raw
  To: gentoo-user

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.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [gentoo-user] Re: perl versioning problem, how to get beyond for @world
  2012-05-18  1:03   ` [gentoo-user] " Harry Putnam
@ 2012-05-21 18:42     ` Arttu V.
  2012-05-25 18:06       ` Harry Putnam
  0 siblings, 1 reply; 5+ messages in thread
From: Arttu V. @ 2012-05-21 18:42 UTC (permalink / raw
  To: gentoo-user

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.
>
>
>
>



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [gentoo-user] Re: perl versioning problem, how to get beyond for @world
  2012-05-21 18:42     ` Arttu V.
@ 2012-05-25 18:06       ` Harry Putnam
  0 siblings, 0 replies; 5+ messages in thread
From: Harry Putnam @ 2012-05-25 18:06 UTC (permalink / raw
  To: gentoo-user

"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. 




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-05-25 18:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-14 22:58 [gentoo-user] perl versioning problem, how to get beyond for @world Harry Putnam
2012-05-14 23:21 ` Alan McKinnon
2012-05-18  1:03   ` [gentoo-user] " Harry Putnam
2012-05-21 18:42     ` Arttu V.
2012-05-25 18:06       ` Harry Putnam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox