Skip Menu |

This queue is for tickets about the CPANPLUS CPAN distribution.

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

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

Bug Information
Severity: (no value)
Broken in: 0.061
Fixed in: (no value)



Subject: Undefined subroutine &CPANPLUS::Dist::MM::can_load
I get this error for EVERY module. cpanp has rendered useless by something. ... [MSG] Extracted 'Data::Table' to '/disk1/src/PERL/.cpanplus/5.9.2/build/Data-Table-1.47' [ERROR] Undefined subroutine &CPANPLUS::Dist::MM::can_load called at /usr/local/lib/perl5/site_perl/5.9.2/CPANPLUS/Dist/MM.pm line 139. CPAN Terminal> i Module::Load::Conditional Installing Module::Load::Conditional [MSG] Module 'Module::Load::Conditional' already up to date, won't install without force -- - - Martin 'Kingpin' Thurn
I quit cpanp and restarted and did exactly the same steps as last time but now it's working fine. If it happens again I'll resubmit. Sorry for the false alarm! -- - - Martin 'Kingpin' Thurn
OK This is happening consistently now. Before running the 'o' command, I can install modules. After running the 'o' command, ALL installation attempts fail with [ERROR] Undefined subroutine &CPANPLUS::Dist::MM::can_load called at /usr/local/lib/perl5/site_perl/5.9.2/CPANPLUS/Dist/MM.pm line 139. I can only imagine that during 'o', some module that I have installed has a "bad" $VERSION string that screws up cpanp when it evals it. Any suggestions on how to debug this? -- - - Martin 'Kingpin' Thurn
On Thu May 25 12:58:19 2006, MTHURN wrote: Show quoted text
> OK This is happening consistently now. Before running the 'o' > command, I can install modules. After running the 'o' command, ALL > installation attempts fail with > > [ERROR] Undefined subroutine &CPANPLUS::Dist::MM::can_load called at > /usr/local/lib/perl5/site_perl/5.9.2/CPANPLUS/Dist/MM.pm line 139. > > I can only imagine that during 'o', some module that I have installed > has a "bad" $VERSION string that screws up cpanp when it evals it. > Any suggestions on how to debug this?
I've tried reproducing it on my system but failed, which makes me think indeed it's "a" module on your system that's throwing a bad version and perhaps breaking other things all together. The part where the check is done is in CPANPLUS::Shell::Default::_uptodate. You'll notice these lines: for my $mod (@list) { ### skip this mod if it's up to date ### next if $mod->is_uptodate; if you follow that with a: die Dumper($mod) unless CPANPLUS::Dist::MM->can('can_load'); you might find the culprit.. This is a nasty issue indeed... good luck debugging and feel free to ask if you have any more questions.
On Tue Jun 06 10:47:53 2006, KANE wrote: Show quoted text
> die Dumper($mod) unless CPANPLUS::Dist::MM->can('can_load');
Cwd.pm is the module that apparently screws things up. Here's what it says about VERSION: % grep VERSION /opt/local/lib/perl5/5.9.2/sun4-solaris/Cwd.pm use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); $VERSION = '3.18'; XSLoader::load( __PACKAGE__, $VERSION ); __PACKAGE__->bootstrap( $VERSION ); $VERSION = eval $VERSION; -- - - Martin 'Kingpin' Thurn
On Thu Jun 08 10:12:36 2006, MTHURN wrote: Show quoted text
> On Tue Jun 06 10:47:53 2006, KANE wrote:
> > die Dumper($mod) unless CPANPLUS::Dist::MM->can('can_load');
> > Cwd.pm is the module that apparently screws things up. Here's what it > says about VERSION: > > % grep VERSION /opt/local/lib/perl5/5.9.2/sun4-solaris/Cwd.pm > use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); > $VERSION = '3.18'; > XSLoader::load( __PACKAGE__, $VERSION ); > __PACKAGE__->bootstrap( $VERSION ); > $VERSION = eval $VERSION;
Well done tracking it down... however, i've been unable to reproduce this error (testing specifically agianst Cwd version 3.18) using the commands you issued. So currently, i'm not sure what a 'fix' for your situation would be. If you have any suggestions or patches, i'm of course happy to take them. Good luck, Jos