Skip Menu |

This queue is for tickets about the CPANPLUS CPAN distribution.

Report information
The Basics
Id: 20478
Status: resolved
Priority: 0/
Queue: CPANPLUS

People
Owner: Nobody in particular
Requestors: darren [...] DarrenDuncan.net
DUNCAND [...] cpan.org
Cc: darren [...] DarrenDuncan.net
AdminCc:

Bug Information
Severity: Important
Broken in: 0.072
Fixed in: 0.77_02



CC: Jos Boumans <kane [...] cpan.org>, darren [...] DarrenDuncan.net
Subject: CPANPLUS-0.072 fails in mid bootstrap install on virgin 5.8.8
Date: Sat, 15 Jul 2006 19:46:47 -0700
To: bug-cpanplus [...] rt.cpan.org
From: Darren Duncan <darren [...] DarrenDuncan.net>

Message body is not shown because it is too large.

On Sat Jul 15 22:49:21 2006, darren@DarrenDuncan.net wrote: Show quoted text
> I tried installing CPANPLUS-0.072 on a virgin Perl 5.8.8 > installation, so to then use it to install anything else I might use.
Excellent idea :) Show quoted text
> Warning: prerequisite File::Spec 0.82 not found. We have -1. > Warning: prerequisite IPC::Cmd 0.24 not found. We have -1.
[...] Show quoted text
> Compilation failed in require at t/testMemberRead.t line 10. > BEGIN failed--compilation aborted at t/testMemberRead.t line 10. > dubious > Test returned status 2 (wstat 512, 0x200) > t/testTree..........File::Spec version 0.8 required--this is only > version -1 at
The problem was with the bundled modules in inc/bundle. We gave them all the version '-1' so they'd be marked as 'not uptodate' and upgraded when you gave the command. However, this broke other modules that said explicitly: use Module VERSION; which is exactly what you see in the test output. CPANPLUS 0.073_01 contains fixes for this, and is now released as a beta to cpan: http://search.cpan.org/~kane/CPANPLUS-0.073_01/ You could try this version and see if bootstrapping works now. It does for me on a vanilla perl5.8 at least (save an issue with Module::Build and CPANPLUS::Dist::Build, which are not cpanplus related). Here is the changelog for this release, for completeness sake: Changes for 0.073_01 Wed Aug 2 15:40:38 CEST 2006 ===================================================== * 'install Bundle::CPANPLUS::Dependencies' should now work properly from cpanp-boxed, even without a --force option * Up requirements to more recent versions of among others Archive::Extract, CPANPLUS::Dist::Build, File::Fetch & Module::Load::Conditional. * Update bundled modules for cpanp-boxed * Don't change versions of bundled modules, this breaks 'use Foo 1.0' statements in our dependencies Uptodate check is now done with a new feature in Module::Load::Conditional that can check %INC. * Rework cpanp-boxed to deal better with bundled modules and their uptodateness * Move module::pluggable code to runtime rather than compiletime this makes 'require CPANPLUS' not run around the FS looking for config files until they are needed * Address #20737 (Failed to Setup CLI Programs with Arguments) where the interactive configuration wouldn't let you specify options to CLI programs * Address #20640: Always Sent 'pass' Report With 'force' => 1. Test reports are now marked as 'fail' when they fail, even when 'force' is true. * sent mail to module-build@perl.org with the patch for C::D::Build to have the same behaviour
On Sat Jul 15 22:49:21 2006, darren@DarrenDuncan.net wrote: Show quoted text
> I tried installing CPANPLUS-0.072 on a virgin Perl 5.8.8 > installation, so to then use it to install anything else I might use.
Excellent idea :) Show quoted text
> Warning: prerequisite File::Spec 0.82 not found. We have -1. > Warning: prerequisite IPC::Cmd 0.24 not found. We have -1.
[...] Show quoted text
> Compilation failed in require at t/testMemberRead.t line 10. > BEGIN failed--compilation aborted at t/testMemberRead.t line 10. > dubious > Test returned status 2 (wstat 512, 0x200) > t/testTree..........File::Spec version 0.8 required--this is only > version -1 at
The problem was with the bundled modules in inc/bundle. We gave them all the version '-1' so they'd be marked as 'not uptodate' and upgraded when you gave the command. However, this broke other modules that said explicitly: use Module VERSION; which is exactly what you see in the test output. CPANPLUS 0.073_01 contains fixes for this, and is now released as a beta to cpan: http://search.cpan.org/~kane/CPANPLUS-0.073_01/ You could try this version and see if bootstrapping works now. It does for me on a vanilla perl5.8 at least (save an issue with Module::Build and CPANPLUS::Dist::Build, which are not cpanplus related). Here is the changelog for this release, for completeness sake: Changes for 0.073_01 Wed Aug 2 15:40:38 CEST 2006 ===================================================== * 'install Bundle::CPANPLUS::Dependencies' should now work properly from cpanp-boxed, even without a --force option * Up requirements to more recent versions of among others Archive::Extract, CPANPLUS::Dist::Build, File::Fetch & Module::Load::Conditional. * Update bundled modules for cpanp-boxed * Don't change versions of bundled modules, this breaks 'use Foo 1.0' statements in our dependencies Uptodate check is now done with a new feature in Module::Load::Conditional that can check %INC. * Rework cpanp-boxed to deal better with bundled modules and their uptodateness * Move module::pluggable code to runtime rather than compiletime this makes 'require CPANPLUS' not run around the FS looking for config files until they are needed * Address #20737 (Failed to Setup CLI Programs with Arguments) where the interactive configuration wouldn't let you specify options to CLI programs * Address #20640: Always Sent 'pass' Report With 'force' => 1. Test reports are now marked as 'fail' when they fail, even when 'force' is true. * sent mail to module-build@perl.org with the patch for C::D::Build to have the same behaviour
CC: darren [...] darrenduncan.net
Subject: CPANPLUS-0.073_02 fails in mid bootstrap install on virgin 5.8.8

Message body is not shown because it is too large.

Subject: CPANPLUS-0.073_02 fails in mid bootstrap install on virgin 5.8.8
On Thu Aug 17 19:57:07 2006, DUNCAND wrote: Show quoted text
> But in any event, the problem reported in the 0.072 ticket seems to > have been fixed by 0.073_02 (I never tried _01),
That's good news! Show quoted text
> but other problems have now surfaced,
That's bad news! :( Show quoted text
> 1. It seems that Module-Signature-0.55 fails to install, killing the > whole process, if "gpg" is not installed on the system,
Module::Signature bails out on my mac as well, for having neither gpg nor the crypt modules installed. It's arguably a dubious praxis, but should be reported in the Module::Signature queue. I'm not sure if removing this 'dependency' from bundle::cpanplus::dependencies is the smart way to go... Show quoted text
> I strongly recommend that the Makefile.PL plus other documentation of > CPANPLUS clearly indicate up front that having "gpg" installed is a prerequisite for > the bootstrap
Ah but it doesn't require it for bootstrapping purposes at all. Signature support is probed as follows: 'signature' => ( (can_run( 'gpg' ) || check_install( module => 'Crypt::OpenPGP' )) ?1:0 ), If you do 's conf' in your cpanp-boxed shell, it should say 'signature => 0' and cpanplus should happily continue working, ignoring signatures. If this is not the case, please report it, as you've found a bug. Show quoted text
> 2. the Module-Signature-0.55 Makefile.PL invokes Module::AutoInstall, > which prompts if I want to install M-S prereqs like Digest::SHA, and if I say yes, it > then invokes CPAN.pm.
This is 'feature' of M::I, and we can not really do anything about it :( M::I provides more features than just AutoInstall, so we can't just ignore it all together. The fix should come from M::I itself. Apparently M::I probes for CPANPLUS running, but the bundled files with M::S do not (even though they are the most recent version of M::I). This perhaps warrants a bug report in M::I. Show quoted text
> 3. Now, something I can't easily workaround is that you appear to > have a circular dependency between CPANPLUS and CPANPLUS-Dist-Build-0.04.
CPANPLUS usually handles circular dependencies gracefully. The problem here is C::D::Build relies on CPANPLUS, which it can apparently find in your boxed environment, but CPANPLUS in turn relies on other modules, which can not be found, thus causing the problem. I'll see what i can do about this particular situation. Thanks for reporting.
p.s. I've opened the following bug report in Module::Install based on your report: #21061: M::I spawns CPAN.pm when run under CPANPLUS for AutoInstall
CC: darren [...] DarrenDuncan.net
Subject: Re: [rt.cpan.org #20478] CPANPLUS-0.073_02 fails in mid bootstrap install on virgin 5.8.8
Date: Fri, 18 Aug 2006 16:09:37 -0700
To: bug-CPANPLUS [...] rt.cpan.org
From: Darren Duncan <darren [...] DarrenDuncan.net>
At 9:14 AM -0400 8/18/06, via RT wrote: Show quoted text
> > I strongly recommend that the Makefile.PL plus other documentation of
>> CPANPLUS clearly indicate up front that having "gpg" installed is >>a prerequisite for >> the bootstrap
> >Ah but it doesn't require it for bootstrapping purposes at all. >Signature support >is probed as follows: > 'signature' => ( (can_run( 'gpg' ) || check_install( module >=> 'Crypt::OpenPGP' )) ?1:0 ), > >If you do 's conf' in your cpanp-boxed shell, it should say >'signature => 0' and >cpanplus should happily continue working, ignoring signatures. If >this is not the case, >please report it, as you've found a bug.
I did this, and it does say " signature '0' " as expected. However, the bootstrap process did still die, caused by Module-Signature, when 'gpg' wasn't installed. At 9:17 AM -0400 8/18/06, via RT wrote: Show quoted text
><URL: http://rt.cpan.org/Ticket/Display.html?id=20478 > > >p.s. I've opened the following bug report in Module::Install based >on your report: > > #21061: M::I spawns CPAN.pm when run under CPANPLUS for AutoInstall
Thanks for doing that. Hopefully the maintainers will be responsive. -- Darren Duncan
Subject: fixed by v0.074 : CPANPLUS-0.072 fails in mid bootstrap install on virgin 5.8.8
I would like to report that the CPANPLUS bootstrap now seems to work without errors on this day of 2006 September 8, circa 5:30pm PST, with the then-current state of CPAN. That is, the combination of the newly released CPANPLUS-0.074 and whatever versions of any CPAN modules that it automatically pulled at bootstrap time have combined for a flawless self-install of CPANPLUS. This is following a recent fresh install (for other reasons) of Mac OS X 10.4.7 and its devtools, and when using a virgin Perl 5.8.8 with default settings but for install location. The GnuPG was not installed this time. Note that there were several prompts during the bootstrap process, but like with Perl itself, simply hitting Return for the default answers was reasonable and correct, and CPAN.pm did not try to take over at any time. Thank you to all involved parties for your work in resolving this. Note that I didn't change this ticket's status yet because the "resolved in" version picklist doesn't yet include v0.074 (it lags CPAN in general). -- Darren Duncan P.S. Now I will move on and see if CPANPLUS "just works" to install the v6.pm tree, and hence a working pre-alpha Perl 6 environment.
Subject: CPANPLUS-0.074 bootstrap completes without installing some CPANPLUS prereqs
From: DUNCAND [...] cpan.org
Seems I spoke too soon with my earlier reply today. It is true that C<< /Volumes/Programming160/perl6 bin/cpanp-boxed -i Bundle::CPANPLUS::Dependencies >> completed without dying this time, which is a step up from before. However, it turns out that that above step did not install all of CPANPLUS' own prerequisites, missing some modules entirely or installing too-old versions of others. Following the above line's successful completion, rerunning the Makefile.PL of CPANPLUS again yielded this: Warning: prerequisite Archive::Extract 0.11 not found. We have 0.07. Warning: prerequisite File::Fetch 0.08 not found. We have 0.07. Warning: prerequisite Module::Load::Conditional 0.10 not found. We have 0.08. Warning: prerequisite Module::Loaded 0.01 not found. Warning: prerequisite Package::Constants 0.01 not found. Warning: prerequisite Test::Harness 2.62 not found. We have 2.56. Likewise, CPANPLUS itself was not installed. (Note: I also observed during the actual run of ::Dependencies that the versions of modules being installed were older than the newest ones. Now maybe this is an intentional feature of CPANPLUS, in case "the newest" would break something. So this may not be a problem if a subsequent install specified newer module versions.) Thinking perhaps that ::Dependencies wasn't supposed to install CPANPLUS itself, but rather that a rerun of the Makefile.PL and 'make' would do it, so I tried that but it didn't work. I also tried this, but it didn't work either: /Volumes/Programming160/perl6 bin/cpanp-boxed -i CPANPLUS That attempt said that CPANPLUS was successfully installed, but trying to "use CPANPLUS;" in a Perl session said it wasn't installed. So something is still amiss. Attached is more output from the terminal session following the completion of the original ::Dependencies run. Thank you in advance for getting to the bottom of this. Also, you may want to try testing the CPANPLUS for yourself on a virgin Perl install that is in a non-standard location, in case you haven't been so far, so it is easier for you to see what I'm seeing. -- Darren Duncan

Message body is not shown because it is too large.

On Fri Sep 08 21:53:31 2006, DUNCAND wrote: Show quoted text
> Seems I spoke too soon with my earlier reply today. > > It is true that C<< /Volumes/Programming160/perl6 bin/cpanp-boxed -i > Bundle::CPANPLUS::Dependencies >> completed without dying this time, > which is a step up from before. > > However, it turns out that that above step did not install all of > CPANPLUS' own prerequisites,
Your log shows: [MSG] Module 'Bundle::CPANPLUS::Dependencies' already up to date, won't install without force Which means somehow, on your system, B::C::D is already installed, but the modules mentioned /in/ the bundle aren't. Not sure what happened there, but that's the reason. As of CPANPLUS 0.077, there's an selfupdate feature available, which will replace the bundle::* solutions we previously used, as it's much more controllable. From the README: You can install all of CPANPLUS' dependencies like this, before installing CPANPLUS itself by running: $ perl bin/cpanp-boxed -s selfupdate dependencies Here's the link to the full README: http://search.cpan.org/src/KANE/CPANPLUS-0.77_02/README If you'd like to test this version, I'd be much obliged. Kind regards, Jos
CC: darren [...] DarrenDuncan.net
Subject: Re: [rt.cpan.org #20478] CPANPLUS-0.072 fails in mid bootstrap install on virgin 5.8.8
Date: Thu, 26 Oct 2006 14:42:21 -0700
To: bug-CPANPLUS [...] rt.cpan.org
From: Darren Duncan <darren [...] DarrenDuncan.net>
Hello Jos et al, Using a virgin Perl 5.8.8 install, I tried installing CPANPLUS 0.77_02 with all default settings, and it appears to have succeeded. This is what I did: $ cd /Volumes/Programming160/downloads/CPANPLUS-0.77_02/ $ /Volumes/Programming160/perl6 Makefile.PL $ /Volumes/Programming160/perl6 bin/cpanp-boxed -s selfupdate dependencies $ /Volumes/Programming160/perl6 Makefile.PL $ make $ make test $ make install The final 'make test' and 'make install' appear to have worked this time. I also notice that the new CPANPLUS has fewer or less complicated dependencies, which is a good thing; eg, neither LWP nor various compression or encryption modules are dependencies in the default setup. So the setup is both smaller and lacks any config prompting. So thank you for your help and improvements. That said, at the time of this writing, I have not yet tried to actually use CPANPLUS, just install it. I will proceed next to try installing stuff with it, specifically v6.pm and its dependency tree. And see how that goes. If there are any issues there, I will report them to the relevant people under new tickets. P.S. Are there or are there not plans to bundle CPANPLUS with Perl 5.9.x+, that you know about? Have a good day. -- Darren Duncan At 6:14 AM -0400 10/26/06, via RT wrote: Show quoted text
><URL: http://rt.cpan.org/Ticket/Display.html?id=20478 > > >On Fri Sep 08 21:53:31 2006, DUNCAND wrote:
>> Seems I spoke too soon with my earlier reply today. >> >> It is true that C<< /Volumes/Programming160/perl6 bin/cpanp-boxed -i >> Bundle::CPANPLUS::Dependencies >> completed without dying this time, >> which is a step up from before. >> >> However, it turns out that that above step did not install all of >> CPANPLUS' own prerequisites,
> >Your log shows: > >[MSG] Module 'Bundle::CPANPLUS::Dependencies' already up to date, >won't install without >force > >Which means somehow, on your system, B::C::D is already installed, >but the modules >mentioned /in/ the bundle aren't. Not sure what happened there, but >that's the reason. > >As of CPANPLUS 0.077, there's an selfupdate feature available, which >will replace the >bundle::* solutions we previously used, as it's much more >controllable. From the README: > > You can install all of CPANPLUS' dependencies like this, before > installing CPANPLUS itself by running: > > $ perl bin/cpanp-boxed -s selfupdate dependencies > >Here's the link to the full README: > > http://search.cpan.org/src/KANE/CPANPLUS-0.77_02/README > >If you'd like to test this version, I'd be much obliged. > >Kind regards, > >Jos