how to tell perl where to find a clearly installed module?

Robert P. J. Day rpjday at crashcourse.ca
Wed Sep 21 08:37:08 UTC 2011


  (bear with me, it's late/early and i'm fuzzy.)

  i'm building a massive project from elsewhere and after a few hours
of "make", it fails thusly:

... lots of stuff ...
cd Pacemaker_Explained && /usr/local/bin/publican build --publish
--langs=all --formats=pdf,html,html-single,txt
Can't locate Publican.pm in @INC ... (snip, coming shortly) ...

  when i first saw that, i realized that, yes, i never installed
publican so:

  $ sudo apt-get install publican

at which point the module is installed under /usr/share/perl5.  just
to play it safe, i can check it would be found:

perl -le 'print foreach @INC'
/etc/perl
/usr/local/lib/perl/5.10.1
/usr/local/share/perl/5.10.1
/usr/lib/perl5
/usr/share/perl5    <-- so it should be found, right?
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl
.
$

  but when i examine the very long list after this part of the error
output:

  Can't locate Publican.pm in @INC (@INC contains: ... looooooong list)

there is, in fact, no mention of /usr/share/perl5, so somewhere in the
processing, i'm *guessing* that some lower-level Makefile has
completely rewritten the perl library path and lost /usr/share/perl5.

  what is the proper solution to this?  i can try to set and export
PERL5DIR right away but is that the normal way to handle this?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================




More information about the ubuntu-users mailing list