public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Harry Putnam <reader@newsguy.com>
To: gentoo-user@lists.gentoo.org
Subject: [gentoo-user] Re: perl versioning problem, how to get beyond for @world
Date: Thu, 17 May 2012 21:03:04 -0400	[thread overview]
Message-ID: <874nre712v.fsf@newsguy.com> (raw)
In-Reply-To: 20120515012144.1d16fe44@khamul.example.com

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.





  reply	other threads:[~2012-05-18  1:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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   ` Harry Putnam [this message]
2012-05-21 18:42     ` [gentoo-user] " Arttu V.
2012-05-25 18:06       ` Harry Putnam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=874nre712v.fsf@newsguy.com \
    --to=reader@newsguy.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox