Hello perlmonks,

I've created a CPAN bundle that I'm now attempting to install in an environment with a current Perl (v5.8.8) build but no CPAN modules. I've ordered the modules in the bundle based on their dependencies. For packaging purposes, I'm attempting to install all modules to a temporary directory. I set my PERL5LIB environment variable to this temporary directory so that subsequent modules can find their dependencies.
setenv PERL5LIB /home/me/build/perl-addons/inst/usr/local/lib/perl5:/h +ome/me/build/perl-addons/inst/usr/local/lib/perl5/site_perl
I start out by upgrading CPAN.pm because the one shipped with Perl v5.8.8 doesn't support Module::Build modules and there are a couple of those in my bundle.
perl -MCPAN -e 'install CPAN'
It launches me into a configuration dialog. I take all the defaults except for the parameters to make install:
Parameters for the 'make install' command? Typical frequently used setting: UNINST=1 to always uninstall potentially conflicting files Your choice: [] DESTDIR=/home/me/build/perl-addons/inst
The install continues and I get dumped back to the prompt. I can verify the CPAN upgrade by doing:
[me@unixbox1:/home/me]> perl -MCPAN -e 'print "$CPAN::VERSION\n"' 1.8802
I then launch the CPAN shell to configure the new Module::Build parameters:
perl -MCPAN -e 'shell'
Again, I take all defaults except for the parameters to ./Build install:
Parameters for the './Build install' command? Typical frequently used setting: --uninst 1 # uninstall conflicting files Your choice: [] --destdir /home/me/build/perl-addons/inst
and then I commit the configuration with:
o conf commit
(Side note: even without going into the shell, CPAN will prompt you for the missing configuration information the next time you use the module, but it won't commit the changes to disk!)

For this discussion, lets say my bundle contains:
Params::Validate MQSeries
although it could be just about anything where later modules have dependencies on the earlier modules.

Params::Validate installs successfully and CPAN launches into the MQSeries config. All's well until:
---- Unsatisfied dependencies detected during [H/HB/HBIERSMA/MQSeries- +1.25.tar.gz] ----- Params::Validate Shall I follow them and prepend them to the queue of modules we are processing right now? [yes]
I know that Params::Validate has been installed; I watched it happen. I can go into another (UNIX) shell, set my PERL5LIB and confirm it:
[me@unixbox1:/home/me]> perl -MParams::Validate -e 'print "$Params::Va +lidate::VERSION\n"' 0.87
Why can't subsequent modules find their dependencies that CPAN just installed?

In reply to CPAN Bundles and Module Dependencies by brainsick

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.