This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Perl CPAN module help


Thank you for your help. I understand what you are saying here. I will try
installing under /usr/local. My question, though, is what do I do about all
the modules I've installed under /usr? How do I deal with them? Do I need to
re-install them under /usr/local? Do I then need to somehow remove them from
/usr? Or can I have modules under both directories, leaving the ones that
work under /usr and place new ones under /usr/local?

-----Original Message-----
From: Peter J. Acklam [mailto:pjacklam@online.no]
Sent: Monday, November 17, 2003 1:40 AM
To: Gary Nielson
Cc: Peter J. Acklam; cygwin@cygwin.com
Subject: Re: Perl CPAN module help


"Gary Nielson" <gary@garynielson.com> wrote:

> I am getting somewhere. I used setup and installed needed
> executables such as gcc. Did a force install in cpan for LWP
> modules and it seemed to be go great. All tests were successful
> in make test. But when running make install I got the error:

You shouldn't use "force install" unless you really know what
you're doing.  If your module fails a regular "install" you should
investigate the problem and find the solution rather than do a
"force install".  With a "force install" you are likely to install
modules which fail some way on your system and hence shouldn't
have been installed.

> "Cannot forceunlink /usr/bin/HEAD: No such file or directory at
> /usr/lib/perl5/5.8.0/File/Find.pm line 873.
> make: *** [pure_site_install] Error 255
> /usr/bin/make install -- NOT OK.
>
> The Find.pm line in question is: { $wanted_callback->() }; #
> protect against wild "next"

When installing LWP you are asked whether you want to install the
GET, HEAD, and POST programs.  You have chosed "yes" or the "force
install" did it for you.  Either way, it was discovered that HEAD
exists (as /usr/bin/head.exe) and Perl is trying to remove it, but
although "which head" says "/usr/bin/HEAD", there really is no
"/usr/bin/HEAD.exe", it's "/usr/bin/head.exe".  The problem is
that "which" matches case insensitively, but "rm" doesn't.

The solution is:  Don't install CPAN modules under "/usr", use
"/usr/local"!  When you install modules without CPAN, use the
steps

    perl Makefile.PL PREFIX=/usr/local
    make
    make test
    make install

this is done with the CPAN shell by setting

    cpan> o conf makepl_arg PREFIX=/usr/local
    cpan> o conf commit

> Any idea what is going wrong, or is the question better posed to
> a perl forum?

The "head" vs "HEAD" is a Cygwin thing, so I think it belongs
equally well here.

Peter

--
Peter J. Acklam - pjacklam@online.no - http://home.online.no/~pjacklam



--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]