CPAN module local installation question

Ask a Question related to PERL Modules, Design and Development.

  1. #1

    Default CPAN module local installation question

    It's the first time that I am doing a *local* install of a CPAN
    module, and promptly stumbled over a problem:

    Using /tmp/foo as a destination directory for playing around,
    Following the documentation on

    [url]http://search.cpan.org/~jhi/perl-5.8.0/pod/perlmodinstall.pod[/url])

    (I mention this because, as you will see below, it might be
    that this documentation is incorrect about local installation),
    I did:

    perl Makefile.PL PREFIX=/tmp/foo
    make
    make install

    which worked fine and produced, as expected:

    $ du /tmp/foo
    68 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List/MoreUtils
    72 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List
    76 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto
    24 /tmp/foo/lib/site_perl/5.8.3/i686-linux/List
    104 /tmp/foo/lib/site_perl/5.8.3/i686-linux
    108 /tmp/foo/lib/site_perl/5.8.3
    112 /tmp/foo/lib/site_perl
    8 /tmp/foo/lib/5.8.3/i686-linux
    12 /tmp/foo/lib/5.8.3
    128 /tmp/foo/lib
    28 /tmp/foo/man/man3
    32 /tmp/foo/man
    164 /tmp/foo

    Also, the module was installed at the expected place:

    $ find /tmp/foo -name '*pm'
    /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm

    Now the aforementioned CPAN page says:

    'Type
    perl Makefile.PL PREFIX=/my/perl_directory
    to install it locally. (Remember that if you do this, you'll have to put
    use lib "/my/perl_directory"; near the top of the program that is to use
    this module.'

    So I tried the following to test my installation:

    $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    /usr/local/perl5.8.3/lib/5.8.3/i686-linux /usr/local/perl5.8.3/lib/5.8.3
    /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    /usr/local/perl5.8.3/lib/site_perl/5.8.3
    /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    BEGIN failed--compilation aborted at -e line 1.

    Of course if I do the test in the following way:

    perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    List::MoreUtils;'

    it works, but from what the CPAN documentation site suggests, it
    should be sufficient to specify in @INC the parent of the lib directory.

    Did I do something wrong? Is this an error in the documentation on the
    CPAN site?

    Ronald


    --
    Ronald Fischer <ronaldf@eml.cc>
    Posted via [url]http://www.newsoffice.de/[/url]

    Ronald Fischer Guest

  2. Similar Questions and Discussions

    1. Local installation of perl module
      Hi, I need to install a perl module without root privileges. I've followed some advices found on the web: created a .cpan directory, copied...
    2. adding a new module to CPAN
      Hi. I'm considering adding a new module to CPAN and want some feedback. The goal of the module is to support the small scripts you have to write...
    3. library gd-2.0.22 and CPAN installation of GD.pm
      Hello everybody, I want to intall Bioperl with the CPAN of my perl5.8 on Panther (10.3.2) ; to do such a thing I need to install GD module. To...
    4. ANN: Digest::SHA Module on CPAN
      c.l.p.m, For those of you interested in computing SHA message digests, I've just released the lastest optimized version of the Digest::SHA module...
    5. CPAN wrong module installation attempt
      Hi, I have a problem with the CPAN installation of the new versions of my modules (Text::MagicTemplate and HTML::MagicTemplate) that I am not able...
  3. #2

    Default Re: CPAN module local installation question

    Ronald Fischer escribió:
    > It's the first time that I am doing a *local* install of a CPAN
    > module, and promptly stumbled over a problem:
    >
    > Using /tmp/foo as a destination directory for playing around,
    > Following the documentation on
    >
    > [url]http://search.cpan.org/~jhi/perl-5.8.0/pod/perlmodinstall.pod[/url])
    >
    > (I mention this because, as you will see below, it might be
    > that this documentation is incorrect about local installation),
    > I did:
    >
    > perl Makefile.PL PREFIX=/tmp/foo
    > make
    > make install
    >
    > which worked fine and produced, as expected:
    >
    > $ du /tmp/foo
    > 68 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List/MoreUtils
    > 72 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List
    > 76 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto
    > 24 /tmp/foo/lib/site_perl/5.8.3/i686-linux/List
    > 104 /tmp/foo/lib/site_perl/5.8.3/i686-linux
    > 108 /tmp/foo/lib/site_perl/5.8.3
    > 112 /tmp/foo/lib/site_perl
    > 8 /tmp/foo/lib/5.8.3/i686-linux
    > 12 /tmp/foo/lib/5.8.3
    > 128 /tmp/foo/lib
    > 28 /tmp/foo/man/man3
    > 32 /tmp/foo/man
    > 164 /tmp/foo
    >
    > Also, the module was installed at the expected place:
    >
    > $ find /tmp/foo -name '*pm'
    > /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm
    >
    > Now the aforementioned CPAN page says:
    >
    > 'Type
    > perl Makefile.PL PREFIX=/my/perl_directory
    > to install it locally. (Remember that if you do this, you'll have to put
    > use lib "/my/perl_directory"; near the top of the program that is to use
    > this module.'
    >
    > So I tried the following to test my installation:
    >
    > $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    > Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    > /usr/local/perl5.8.3/lib/5.8.3/i686-linux /usr/local/perl5.8.3/lib/5.8.3
    > /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    > /usr/local/perl5.8.3/lib/site_perl/5.8.3
    > /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    > BEGIN failed--compilation aborted at -e line 1.
    >
    > Of course if I do the test in the following way:
    >
    > perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    > List::MoreUtils;'
    >
    > it works, but from what the CPAN documentation site suggests, it
    > should be sufficient to specify in @INC the parent of the lib directory.
    >
    > Did I do something wrong? Is this an error in the documentation on the
    > CPAN site?
    >
    > Ronald
    >
    >
    does it help to include the lib subdir too?
    I mean: "/tmp/foo/lib"
    --stephan
    Stephan Titard Guest

  4. #3

    Default Re: CPAN module local installation question

    Stephan Titard schrieb:
    > Ronald Fischer escribió:
    > > $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    > > Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    > > /usr/local/perl5.8.3/lib/5.8.3/i686-linux /usr/local/perl5.8.3/lib/5.8.3
    > > /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    > > /usr/local/perl5.8.3/lib/site_perl/5.8.3
    > > /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    > > BEGIN failed--compilation aborted at -e line 1.
    > >
    > > Of course if I do the test in the following way:
    > >
    > > perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    > > List::MoreUtils;'
    > >
    > > it works, but from what the CPAN documentation site suggests, it
    > > should be sufficient to specify in @INC the parent of the lib directory.
    > does it help to include the lib subdir too?
    > I mean: "/tmp/foo/lib"
    No, doesn't work either.

    Interestingly, @INC also contains by defaul not, say,
    /usr/local/perl5.8.3,
    put lists all its subdirectories explitily.

    Ronald

    ro.naldfi.scher@gmail.com Guest

  5. #4

    Default Re: CPAN module local installation question

    On 07/12/2006 04:59 AM, Stephan Titard wrote:
    > Ronald Fischer escribió:
    >> It's the first time that I am doing a *local* install of a CPAN
    >> module, and promptly stumbled over a problem:
    >>
    >> Using /tmp/foo as a destination directory for playing around,
    >> Following the documentation on
    >>
    >> [url]http://search.cpan.org/~jhi/perl-5.8.0/pod/perlmodinstall.pod[/url])
    >>
    >> (I mention this because, as you will see below, it might be
    >> that this documentation is incorrect about local installation),
    >> I did:
    >>
    >> perl Makefile.PL PREFIX=/tmp/foo
    >> make
    >> make install
    >>
    >> which worked fine and produced, as expected:
    >>
    >> $ du /tmp/foo
    >> 68 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List/MoreUtils
    >> 72 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List
    >> 76 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto
    >> 24 /tmp/foo/lib/site_perl/5.8.3/i686-linux/List
    >> 104 /tmp/foo/lib/site_perl/5.8.3/i686-linux
    >> 108 /tmp/foo/lib/site_perl/5.8.3
    >> 112 /tmp/foo/lib/site_perl
    >> 8 /tmp/foo/lib/5.8.3/i686-linux
    >> 12 /tmp/foo/lib/5.8.3
    >> 128 /tmp/foo/lib
    >> 28 /tmp/foo/man/man3
    >> 32 /tmp/foo/man
    >> 164 /tmp/foo
    >>
    >> Also, the module was installed at the expected place:
    >>
    >> $ find /tmp/foo -name '*pm'
    >> /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm
    >>
    >> Now the aforementioned CPAN page says:
    >>
    >> 'Type
    >> perl Makefile.PL PREFIX=/my/perl_directory
    >> to install it locally. (Remember that if you do this, you'll have to
    >> put use lib "/my/perl_directory"; near the top of the program that is
    >> to use this module.'
    >>
    >> So I tried the following to test my installation:
    >>
    >> $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    >> Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    >> /usr/local/perl5.8.3/lib/5.8.3/i686-linux
    >> /usr/local/perl5.8.3/lib/5.8.3
    >> /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    >> /usr/local/perl5.8.3/lib/site_perl/5.8.3
    >> /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    >> BEGIN failed--compilation aborted at -e line 1.
    >>
    >> Of course if I do the test in the following way:
    >>
    >> perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    >> List::MoreUtils;'
    >>
    >> it works, but from what the CPAN documentation site suggests, it
    >> should be sufficient to specify in @INC the parent of the lib directory.
    >>
    >> Did I do something wrong? Is this an error in the documentation on the
    >> CPAN site?
    >>
    >> Ronald
    >>
    >>
    > does it help to include the lib subdir too?
    > I mean: "/tmp/foo/lib"
    > --stephan
    "Perldoc perlmodinstall" suggests that only /tmp/foo is
    necessary when, in fact, /tmp/foo/lib is required, e.g.

    $ perl -Mlib=/tmp/foo -MList::MoreUtils -e 1

    fails when perlmodinstall suggests it should succeed.
    Instead you must do this:

    $ perl -Mlib=/tmp/foo/lib -MList::MoreUtils -e 1

    IMO (in my opinion), it's a document bug in
    perlmodinstall.pod, but it's not as grand as what Mr.
    Fischer was thinking.

    Mumia W. Guest

  6. #5

    Default Re: CPAN module local installation question

    Ronald Fischer <ronaldf@eml.cc> writes:
    > Also, the module was installed at the expected place:
    >
    > $ find /tmp/foo -name '*pm'
    > /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm
    >
    > Now the aforementioned CPAN page says:
    >
    > 'Type
    > perl Makefile.PL PREFIX=/my/perl_directory
    > to install it locally. (Remember that if you do this, you'll have to
    > put use lib "/my/perl_directory"; near the top of the program that is
    > to use this module.'
    >
    > So I tried the following to test my installation:
    >
    > $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    > Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    > /usr/local/perl5.8.3/lib/5.8.3/i686-linux
    > /usr/local/perl5.8.3/lib/5.8.3
    > /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    > /usr/local/perl5.8.3/lib/site_perl/5.8.3
    > /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    > BEGIN failed--compilation aborted at -e line 1.
    >
    > Of course if I do the test in the following way:
    >
    > perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    > List::MoreUtils;'
    >
    > it works, but from what the CPAN documentation site suggests, it
    > should be sufficient to specify in @INC the parent of the lib directory.
    You should be able to "use lib '/tmp/foo/lib/site_perl';" - the version
    and architecture directory should be added automagically by the lib pragma.

    Using PREFIX changes the base directory, but doesn't change the layout of the
    directories under it. That layout still makes a distinction between Core and
    CPAN modules, even when you're only installing CPAN modules.
    > Did I do something wrong? Is this an error in the documentation on the
    > CPAN site?
    I suppose it's technically correct, in that a module might be configured to
    install in the directory for core modules. It's certainly misleading though,
    and doesn't apply to the most common case.

    sherm--

    --
    Web Hosting by West Virginians, for West Virginians: [url]http://wv-www.net[/url]
    Cocoa programming in Perl: [url]http://camelbones.sourceforge.net[/url]
    Sherm Pendley Guest

  7. #6

    Default Re: CPAN module local installation question

    On 07/12/2006 07:07 AM, Mumia W. wrote:
    > On 07/12/2006 04:59 AM, Stephan Titard wrote:
    >> Ronald Fischer escribió:
    >>> It's the first time that I am doing a *local* install of a CPAN
    >>> module, and promptly stumbled over a problem:
    >>>
    >>> Using /tmp/foo as a destination directory for playing around,
    >>> Following the documentation on
    >>>
    >>> [url]http://search.cpan.org/~jhi/perl-5.8.0/pod/perlmodinstall.pod[/url])
    >>>
    >>> (I mention this because, as you will see below, it might be
    >>> that this documentation is incorrect about local installation),
    >>> I did:
    >>>
    >>> perl Makefile.PL PREFIX=/tmp/foo
    >>> make
    >>> make install
    >>>
    >>> which worked fine and produced, as expected:
    >>>
    >>> $ du /tmp/foo
    >>> 68 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List/MoreUtils
    >>> 72 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto/List
    >>> 76 /tmp/foo/lib/site_perl/5.8.3/i686-linux/auto
    >>> 24 /tmp/foo/lib/site_perl/5.8.3/i686-linux/List
    >>> 104 /tmp/foo/lib/site_perl/5.8.3/i686-linux
    >>> 108 /tmp/foo/lib/site_perl/5.8.3
    >>> 112 /tmp/foo/lib/site_perl
    >>> 8 /tmp/foo/lib/5.8.3/i686-linux
    >>> 12 /tmp/foo/lib/5.8.3
    >>> 128 /tmp/foo/lib
    >>> 28 /tmp/foo/man/man3
    >>> 32 /tmp/foo/man
    >>> 164 /tmp/foo
    >>>
    >>> Also, the module was installed at the expected place:
    >>>
    >>> $ find /tmp/foo -name '*pm'
    >>> /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm
    >>>
    >>> Now the aforementioned CPAN page says:
    >>>
    >>> 'Type
    >>> perl Makefile.PL PREFIX=/my/perl_directory
    >>> to install it locally. (Remember that if you do this, you'll have to
    >>> put use lib "/my/perl_directory"; near the top of the program that is
    >>> to use this module.'
    >>>
    >>> So I tried the following to test my installation:
    >>>
    >>> $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    >>> Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    >>> /usr/local/perl5.8.3/lib/5.8.3/i686-linux
    >>> /usr/local/perl5.8.3/lib/5.8.3
    >>> /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    >>> /usr/local/perl5.8.3/lib/site_perl/5.8.3
    >>> /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    >>> BEGIN failed--compilation aborted at -e line 1.
    >>>
    >>> Of course if I do the test in the following way:
    >>>
    >>> perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    >>> List::MoreUtils;'
    >>>
    >>> it works, but from what the CPAN documentation site suggests, it
    >>> should be sufficient to specify in @INC the parent of the lib directory.
    >>>
    >>> Did I do something wrong? Is this an error in the documentation on the
    >>> CPAN site?
    >>>
    >>> Ronald
    >>>
    >>>
    >> does it help to include the lib subdir too?
    >> I mean: "/tmp/foo/lib"
    >> --stephan
    >
    > "Perldoc perlmodinstall" suggests that only /tmp/foo is necessary when,
    > in fact, /tmp/foo/lib is required, e.g.
    >
    > $ perl -Mlib=/tmp/foo -MList::MoreUtils -e 1
    >
    > fails when perlmodinstall suggests it should succeed. Instead you must
    > do this:
    >
    > $ perl -Mlib=/tmp/foo/lib -MList::MoreUtils -e 1
    >
    I was wrong. This works:

    $ perl -Mlib=/tmp/foo/lib/perl -MList::MoreUtils -e 1
    > IMO (in my opinion), it's a document bug in perlmodinstall.pod, but it's
    > not as grand as what Mr. Fischer was thinking.
    >
    Now I don't know what to think. For me, MoreUtils.pm
    was put into a different location:

    (inside /tmp/foo)
    > $ find . -name '*.pm'
    > ./lib/perl/5.8.4/List/MoreUtils.pm
    ?

    Mumia W. Guest

  8. #7

    Default Re: CPAN module local installation question

    Sherm Pendley schrieb:
    > Ronald Fischer <ronaldf@eml.cc> writes:
    > > $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    > > Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    > > /usr/local/perl5.8.3/lib/5.8.3/i686-linux
    > > /usr/local/perl5.8.3/lib/5.8.3
    > > /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    > > /usr/local/perl5.8.3/lib/site_perl/5.8.3
    > > /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    > > BEGIN failed--compilation aborted at -e line 1.
    > >
    > > Of course if I do the test in the following way:
    > >
    > > perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    > > List::MoreUtils;'
    > >
    > > it works, but from what the CPAN documentation site suggests, it
    > > should be sufficient to specify in @INC the parent of the lib directory.
    >
    > You should be able to "use lib '/tmp/foo/lib/site_perl';" - the version
    > and architecture directory should be added automagically by the lib pragma.
    It is correct, that *this* works, while, for example, "use lib
    '/tmp/foo/lib" is
    not sufficient.

    Given that the complete path to the module is

    /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm

    I wonder how the search algorithm of "use lib" is implemente, that it
    can find
    the directory "List" two levels down from site_perl, but not three
    levels down
    from lib.

    I could understand if the implementors of Perl require the search path
    to list
    extensively all directories explicitly, which can contain modules
    ( /tmp/foo/lib/site_perl/5.8.3/i686-linux in my example). I could also
    understand a design decision which states that the lib directory needs
    to be stated (because the layout below lib is kind of "known structure"
    to perl), i.e. that use lib "/tmp/foo/lib" or even /tmp/foo would be
    sufficient.
    But to require that the library path needs to be specified down to the
    site_perl directory, seems to be such an arbitrary decision, that I
    suspect
    this is a bug in Perl (in the sense that it is not what the implementor
    originally had intended).

    Now if we just could get an authoritative response to this question...

    Ronald

    ro.naldfi.scher@gmail.com Guest

  9. #8

    Default Re: CPAN module local installation question

    [email]ro.naldfi.scher@gmail.com[/email] writes:
    > Sherm Pendley schrieb:
    >> Ronald Fischer <ronaldf@eml.cc> writes:
    >> > $ perl -e 'use lib "/tmp/foo"; use List::MoreUtils;'
    >> > Can't locate List/MoreUtils.pm in @INC (@INC contains: /tmp/foo
    >> > /usr/local/perl5.8.3/lib/5.8.3/i686-linux
    >> > /usr/local/perl5.8.3/lib/5.8.3
    >> > /usr/local/perl5.8.3/lib/site_perl/5.8.3/i686-linux
    >> > /usr/local/perl5.8.3/lib/site_perl/5.8.3
    >> > /usr/local/perl5.8.3/lib/site_perl .) at -e line 1.
    >> > BEGIN failed--compilation aborted at -e line 1.
    >> >
    >> > Of course if I do the test in the following way:
    >> >
    >> > perl -e 'use lib "/tmp/foo/lib/site_perl/5.8.3/i686-linux"; use
    >> > List::MoreUtils;'
    >> >
    >> > it works, but from what the CPAN documentation site suggests, it
    >> > should be sufficient to specify in @INC the parent of the lib directory.
    >>
    >> You should be able to "use lib '/tmp/foo/lib/site_perl';" - the version
    >> and architecture directory should be added automagically by the lib pragma.
    >
    > It is correct, that *this* works, while, for example, "use lib
    > '/tmp/foo/lib" is
    > not sufficient.
    >
    > Given that the complete path to the module is
    >
    > /tmp/foo/lib/site_perl/5.8.3/i686-linux/List/MoreUtils.pm
    >
    > I wonder how the search algorithm of "use lib" is implemente, that it
    > can find
    > the directory "List" two levels down from site_perl, but not three
    > levels down
    > from lib.
    It's not really searching at all. First it checks to see if the specified
    directory exists, and if so adds it to @INC. Then it appends the version
    number of the currently-running Perl, and repeats, and then again with the
    architecture.

    Imagine that site_perl/ is on a network-mounted volume, and accessible from
    a variety of machine types all running different versions of Perl. You could
    still use a single 'use lib' statement in a script that needs to run on all
    those machines, and Perl would sort out which module each machine needed to
    load.
    > understand a design decision which states that the lib directory needs
    > to be stated (because the layout below lib is kind of "known structure"
    > to perl)
    The layout below lib is *not* a known structure, it's just the default. The
    only known structure is the version/arch subdirectories. On Mac OS X, for
    instance, CPAN modules are found in /Library/Perl.
    > But to require that the library path needs to be specified down to the
    > site_perl directory, seems to be such an arbitrary decision, that I
    > suspect this is a bug in Perl
    Suspecting that anything for which you don't understand the rationale must
    be bug seems quite arrogant to me.

    sherm--

    --
    Web Hosting by West Virginians, for West Virginians: [url]http://wv-www.net[/url]
    Cocoa programming in Perl: [url]http://camelbones.sourceforge.net[/url]
    Sherm Pendley Guest

  10. #9

    Default Re: CPAN module local installation question

    Sherm Pendley schrieb:
    > [email]ro.naldfi.scher@gmail.com[/email] writes:
    > Imagine that site_perl/ is on a network-mounted volume, and accessible from
    > a variety of machine types all running different versions of Perl. You could
    > still use a single 'use lib' statement in a script that needs to run on all
    > those machines, and Perl would sort out which module each machine needed to
    > load.
    I understand. This makes sense indeed.
    > > But to require that the library path needs to be specified down to the
    > > site_perl directory, seems to be such an arbitrary decision, that I
    > > suspect this is a bug in Perl
    >
    > Suspecting that anything for which you don't understand the rationale must
    > be bug seems quite arrogant to me.
    Point taken, especially as I see now that the decision was not
    arbitrary at all (though hard to guess without explanation:-)

    So maybe the only thing which should be done is to correct the
    installation
    instructions on CPAN, so that people know how to write a correct use
    lib
    for those cases where modules are not installed in the default
    locations.

    Ronald

    ro.naldfi.scher@gmail.com Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139