delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/11/17/05:15:12

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
To: "Gary Nielson" <gary AT garynielson DOT com>
Cc: "Peter J. Acklam" <pjacklam AT online DOT no>, <cygwin AT cygwin DOT com>
Subject: Re: Perl CPAN module help
References: <OPEKJLGNDDPKCJBJLEGLOEEMHCAA DOT gary AT garynielson DOT com>
From: pjacklam AT online DOT no (Peter J. Acklam)
Organization: Private
Date: Mon, 17 Nov 2003 11:12:47 +0100
In-Reply-To: <OPEKJLGNDDPKCJBJLEGLOEEMHCAA.gary@garynielson.com> (Gary
Nielson's message of "Mon, 17 Nov 2003 04:33:22 -0500")
Message-ID: <n0avb8ww.fsf@online.no>
User-Agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3 (windows-nt)
MIME-Version: 1.0

"Gary Nielson" <gary AT garynielson DOT com> wrote:

> Thank you for your help. I understand what you are saying
> here. I will try installing under /usr/local.

I forgot to mention that Perl will not, by default, search for
modules in /usr/local.  This is a disadvantage, but it's worth it,
in my opinion.  The simplest way to make Perl look for modules
there is to add

   PERL5LIB=/usr/local/lib/perl5:/usr/local/lib/perl5/site_perl

to your personal startup file (~/.bash_profile or whatever).

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

If they're working properly, you might as well leave them alone.
If they're broken, re-install them with PREFIX=/usr/local.

Note that perl will search the directories specified in PERL5LIB
before the other directories, so if you have a working module
under /usr/local and a broken one under /usr, then the working one
under /usr/local will be used.  The default search path:

    $ unset PERL5LIB
    $ perl -wle 'print for @INC'
    /usr/lib/perl5/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/5.8.0
    /usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    .

Now, note how /usr/local/... comes first:

    $ export PERL5LIB=/usr/local/lib/perl5:/usr/local/lib/perl5/site_perl
    $ perl -wle 'print for @INC'
    /usr/local/lib/perl5/5.8.0/cygwin-multi-64int
    /usr/local/lib/perl5/5.8.0
    /usr/local/lib/perl5
    /usr/local/lib/perl5/site_perl/5.8.0/cygwin-multi-64int
    /usr/local/lib/perl5/site_perl/5.8.0
    /usr/local/lib/perl5/site_perl
    /usr/lib/perl5/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/5.8.0
    /usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    .

You may try to remove modules under /usr, but be careful so you
don't remove things you need.  If you really want to remove them,
I'd rather do that by uninstalling Perl, removing everything under
/usr/lib/perl5 and start over with a clean Perl installation.

Peter

-- 
Peter J. Acklam - pjacklam AT online DOT 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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019