Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 40224
Status: resolved
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: CHORNY [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 1.9205
  • 1.9301
Fixed in: (no value)



Subject: prereq is not installed
In some cases prereq is not installed automatically. Windows XP. Strawberry Perl 5.10. 'prerequisites_policy' => q[follow], CPAN.pm: Going to build F/FL/FLORA/MooseX-Method-Signatures-0.06.tar.gz Cannot determine perl version info from lib/MooseX/Method/Signatures.pm Warning: prerequisite Perl6::Signature 0.03 not found. We have 0.02. Checking if your kit is complete... Looks good Writing Makefile for MooseX::Method::Signatures (C:\strawberry\perl\bin\perl.exe Makefile.PL LIBS=-LC:\strawberry\c\lib INC=-IC:\strawberry\c\include exited with 0) CPAN::Reporter: Makefile.PL result is 'pass', No errors. cp lib/MooseX/Method/Signatures.pm blib\lib\MooseX\Method\Signatures.pm (C:\strawberry\c\bin\dmake.EXE exited with 0) CPAN::Reporter: dmake result is 'pass', No errors. FLORA/MooseX-Method-Signatures-0.06.tar.gz C:\strawberry\c\bin\dmake.EXE -- OK Running make test tests are failing here due to missing prereq. "Makefile": # PREREQ_PM => { Scope::Guard=>q[0], Test::Exception=>q[0], Perl6::Signature=>q[0.03], ExtUtils::MakeMaker=>q[6.44], Moose::Util::TypeConstraints=>q[0], Devel::Declare=>q[0.002000], MooseX::Meta::Signature::Combined=>q[0] } -- Alexandr Ciornii, http://chorny.net
Subject: Re: [rt.cpan.org #40224] prereq is not installed
Date: Tue, 21 Oct 2008 09:05:20 -0400
To: bug-CPAN [...] rt.cpan.org
From: "David Golden" <dagolden [...] cpan.org>
On Tue, Oct 21, 2008 at 6:13 AM, Alexandr Ciornii via RT <bug-CPAN@rt.cpan.org> wrote: Show quoted text
> In some cases prereq is not installed automatically. > Windows XP. Strawberry Perl 5.10. > 'prerequisites_policy' => q[follow],
Which release version of Strawberry? Are you using a minicpan? If not, which, CPAN mirror are you using and can you confirm that it contains Perl6-Signatures-0.03? -- David
Втр. Окт. 21 09:05:44 2008, DAGOLDEN писал: Show quoted text
> On Tue, Oct 21, 2008 at 6:13 AM, Alexandr Ciornii via RT > <bug-CPAN@rt.cpan.org> wrote:
> > In some cases prereq is not installed automatically. > > Windows XP. Strawberry Perl 5.10. > > 'prerequisites_policy' => q[follow],
> > Which release version of Strawberry?
"Strawberry Perl 5.10.0 Final" - first 5.10 release. Show quoted text
> Are you using a minicpan? If not, which, CPAN mirror are you using
http://cpan.strawberryperl.com/ (it is a redirector to http://cpan.yahoo.com/ currently) Show quoted text
> and can you confirm that it contains Perl6-Signatures-0.03?
yes, it does -- Alexandr Ciornii, http://chorny.net
I have tried 1. 'reload index' 2. adding 'ftp://ftp.funet.fi/pub/languages/perl/CPAN/' as first mirror no change. 3. turning use_sqlite off, and it works (started upgrading dependency). Turning on - doesn't. Upgrading CPAN::SQLite to latest version didn't solved problem. -- Alexandr Ciornii, http://chorny.net
On Tue Oct 21 09:05:44 2008, DAGOLDEN wrote: Show quoted text
> > In some cases prereq is not installed automatically. > > Windows XP. Strawberry Perl 5.10. > > 'prerequisites_policy' => q[follow],
Show quoted text
> Which release version of Strawberry?
Show quoted text
> Are you using a minicpan? If not, which, CPAN mirror are you using > and can you confirm that it contains Perl6-Signatures-0.03?
I'm experiencing the same problem on armv5tejl-linux, in both 5.8.8 and 5.10 with recent CPAN::SQLite 0.196 and CPAN 1.92_63 (1.93 failed for some reasons on this platform). You can get cpandb.sql and Metadata files from http://trouchelle.com/tmp/CPAN-req-problem-datafiles.zip (6264k), but I suppose it can be reproduced quite easy. -- Serguei Trouchelle
On Tue Oct 21 15:31:46 2008, CHORNY wrote: Show quoted text
> I have tried > 1. 'reload index' > 2. adding 'ftp://ftp.funet.fi/pub/languages/perl/CPAN/' as first mirror > no change. > > 3. turning use_sqlite off, and it works (started upgrading dependency). > Turning on - doesn't. > Upgrading CPAN::SQLite to latest version didn't solved problem. >
I tried tracing through the dependencies, but couldn't pinpoint where it failed to resolve things. Just to clarify - when you turned use_sqlite off, which dependency (or dependencies) was it that then get resolved? Were these missing dependencies new to your system, or were they packages that were already installed that required upgrading to a higher version? Thanks. -- best regards, Randy
I believe I found the source of this problem, which arises in the case when a version of a module is present but which is too old as specified in the prerequisites. I've attached a patch to CPAN::Distribution which fixes this for me.
diff --git a/lib/CPAN/Distribution.pm b/lib/CPAN/Distribution.pm index 68a9096..3f4d01d 100644 --- a/lib/CPAN/Distribution.pm +++ b/lib/CPAN/Distribution.pm @@ -2515,6 +2515,10 @@ sub unsat_prereq { $available_version = $]; $available_file = CPAN::find_perl(); } else { + if (CPAN::_sqlite_running()) { + CPAN::Index->reload; + $CPAN::SQLite->search("CPAN::Module",$need_module); + } $nmo = $CPAN::META->instance("CPAN::Module",$need_module); next if $nmo->uptodate; $available_file = $nmo->available_file;
Applied Randy's patch as f0881ea to trunk.