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

A

Andrew Fabbro

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...
 
X

xhoster

Andrew Fabbro said:
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.
 
B

Ben Morrow

Quoth Andrew Fabbro said:
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
 
B

Ben Morrow

Quoth Ben Morrow said:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top