Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > Perl's @INC - am I missing the point?

Reply
Thread Tools

Perl's @INC - am I missing the point?

 
 
Andrew Fabbro
Guest
Posts: n/a
 
      04-17-2008
When building (compiling) perl, I wanted to include a directory where
we install our local modules. So I built perl with -Dotherlibdirs=/app/
common/oracle/perl/local.

Later, I installed various modules with PREFIX=/app/common/oracle/perl/
local

However, perl can't find them (and yes, I checked and /app/common/
oracle/perl/local is in @INC). However, if I put this in @INC:

/app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-LP64

Then it finds things and works just fine.

But what the...heck is the point of -Dotherlibdirs if what you point
it at doesn't work!? So should I rebuild perl with -Dotherlibdirs set
to "/app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-
LP64"? The whole point of this exercise was to avoid having to
manually "use lib"...

Or perhaps I'm just confused...

 
Reply With Quote
 
 
 
 
xhoster@gmail.com
Guest
Posts: n/a
 
      04-17-2008
Andrew Fabbro <(E-Mail Removed)> wrote:
> When building (compiling) perl, I wanted to include a directory where
> we install our local modules. So I built perl with -Dotherlibdirs=/app/
> common/oracle/perl/local.
>
> Later, I installed various modules with
> PREFIX=/app/common/oracle/perl/local



For some reason, PREFIX automatically gets /lib added to the end before it
gets used for the location of installing the modules. I'm sure this makes
complete sense to those people who understand this stuff, but I am not one
of them.


>
> However, perl can't find them (and yes, I checked and /app/common/
> oracle/perl/local is in @INC). However, if I put this in @INC:
>
> /app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-LP64
>
> Then it finds things and works just fine.


It would probably work fine if you just put in
/app/common/oracle/perl/local/lib


>
> But what the...heck is the point of -Dotherlibdirs if what you point
> it at doesn't work!? So should I rebuild perl with -Dotherlibdirs set
> to "/app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-
> LP64"? The whole point of this exercise was to avoid having to
> manually "use lib"...


I think you should rebuild with -Dotherlibdirs set to
/app/common/oracle/perl/local/lib

>
> Or perhaps I'm just confused...


You and I both.

Xho

--
-------------------- http://NewsReader.Com/ --------------------
The costs of publication of this article were defrayed in part by the
payment of page charges. This article must therefore be hereby marked
advertisement in accordance with 18 U.S.C. Section 1734 solely to indicate
this fact.
 
Reply With Quote
 
 
 
 
Andrew Fabbro
Guest
Posts: n/a
 
      04-17-2008
On Apr 16, 9:55 pm, (E-Mail Removed) wrote:
> It would probably work fine if you just put in
> /app/common/oracle/perl/local/lib


Alas...nope.
 
Reply With Quote
 
Ben Morrow
Guest
Posts: n/a
 
      04-17-2008

Quoth Andrew Fabbro <(E-Mail Removed)>:
> When building (compiling) perl, I wanted to include a directory where
> we install our local modules. So I built perl with -Dotherlibdirs=/app/
> common/oracle/perl/local.
>
> Later, I installed various modules with PREFIX=/app/common/oracle/perl/
> local
>
> However, perl can't find them (and yes, I checked and /app/common/
> oracle/perl/local is in @INC). However, if I put this in @INC:
>
> /app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-LP64
>
> Then it finds things and works just fine.


You need to use LIB= for MakeMaker rather than PREFIX=. PREFIX is a
little weird (for historical reasons); it means 'this is where my whole
perl tree is installed', so it will attempt to create a whole lib/ man/
bin/ tree matching the one your perl is installed into, including
site_perl and so on.

Ben

 
Reply With Quote
 
Ben Morrow
Guest
Posts: n/a
 
      04-17-2008

Quoth Ben Morrow <(E-Mail Removed)>:
>
> Quoth Andrew Fabbro <(E-Mail Removed)>:
> > When building (compiling) perl, I wanted to include a directory where
> > we install our local modules. So I built perl with -Dotherlibdirs=/app/
> > common/oracle/perl/local.
> >
> > Later, I installed various modules with PREFIX=/app/common/oracle/perl/
> > local
> >
> > However, perl can't find them (and yes, I checked and /app/common/
> > oracle/perl/local is in @INC). However, if I put this in @INC:
> >
> > /app/common/oracle/perl/local/lib/site_perl/5.8.8/PA-RISC2.0-LP64
> >
> > Then it finds things and works just fine.

>
> You need to use LIB= for MakeMaker rather than PREFIX=. PREFIX is a
> little weird (for historical reasons); it means 'this is where my whole
> perl tree is installed', so it will attempt to create a whole lib/ man/
> bin/ tree matching the one your perl is installed into, including
> site_perl and so on.


Also, note that perl will only search arch-specific subdirs of
otherlibdirs if they existed when Configure was run. So you need to make
sure /app/common/oracle/perl/local/PA-RISC2.0-LP64 exists before you run
Configure.

Ben

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Crystal Reports - Visual Basic UFL that implements this function is missing (or U2lcom.dll is missing) Les Caudle ASP .Net 3 09-03-2007 02:27 AM
Re: missing feature classes and missing fields Gary Herron Python 2 07-04-2006 10:29 PM
missing wzcdlg.dll =?Utf-8?B?RGFuZGVl?= Wireless Networking 4 11-20-2004 02:14 PM
Missing Wireless Link applet =?Utf-8?B?Q2hyaXNzaWU=?= Wireless Networking 8 10-07-2004 07:24 PM
Missing Websites and no mail =?Utf-8?B?U2hpZnR3b3JrZXI0Mw==?= Wireless Networking 0 09-11-2004 12:31 PM



Advertisments