Subject: Re: CPAN module in Cygwin
From: Yitzchak Scott-Thoennes <[email-masked]>
To: [email-masked]
Date: Sun, 31 Oct 2004 14:12:15 -0800

On Sun, Oct 31, 2004 at 12:05:38PM -0800, Yitzchak Scott-Thoennes wrote:
> On Sat, Oct 30, 2004 at 01:14:08PM -0700, Elvin Peterson wrote:

Sorry for originally not removing email address on the above line.

> > Hello,
> >    The CPAN command:
> > 
> > perl -MCPAN -e shell 
> > 
> > fails with:
> > 
> > Cannot open >/usr/lib/perl5/5.8.5/CPAN/Config.pm at
> > /usr/lib/perl5/5.8.5/CPAN.pm line 1219
> > 
> > CPAN::Config::_configpmtest('/usr/lib/perl5/5.8.5/CPAN',
> > '/usr/lib/perl5/5.8.5/CPAN/Config.pm') called at
> > /usr/lib/perl5/5.8.5/CPAN.pm line 1253
> > 	CPAN::Config::load('CPAN::Config') called at
> > /usr/lib/perl5/5.8.5/CPAN.pm line 92
> > 	CPAN::shell() called at -e line 1
> > 
> > It looks like it is trying to write to a file owned by
> > Administrator.  Is there a workaround to install
> > modules as a user?
> 
> After a *very* quick look at CPAN.pm, it looks like your
> CPAN/Config.pm is incomplete, so it tries to rebuild it, but trips up
> because it is not expecting the Config.pm file to not be writable when
> the CPAN/ directory is writable.
> 
> This is IMO a CPAN bug.

It's more complicated than that; I wasn't able to duplicate this with a
writable CPAN dir and a non-writable CPAN/Config.pm.  If the CPAN dir
is writable, CPAN.pm will unlink CPAN/Config.pm.bak, rename CPAN/Config.pm
to CPAN/Config.pm.bak, and try to create a new CPAN/Config.pm.  I am
unable to envision how you could have permissions set so that this wouldn't
succeed.
 
> You can find out what's missing by:
> 
> perl -MCPAN::Config -MCPAN -wle'print for CPAN::Config->missing_config_data'

Ouf of curiousity, what was missing?  Was the CPAN/Config.pm just the
original 3 byte stub?

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/