Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^4: "use lib" and architecture-specific paths

by Intrepid (Deacon)
on Oct 28, 2008 at 20:52 UTC ( #720105=note: print w/replies, xml ) Need Help??

in reply to Re^3: "use lib" and architecture-specific paths
in thread "use lib" and architecture-specific paths

Admittedly a long while ago, FunkyMonk wrote in the follow-up posting to discussion topic ""use lib" and architecture-specific paths":

I looked a lttle harder and it seems the arch dirs are defined to be the same as non-archdirs (this is Debian Testing, BTW):       
    perl -V (with snippage):
(snip output)

There's a tool someone wrote precisely because many of us have a hard time understanding the layout of perl installations as an abstraction rather than as simply something they've seen on one familiar machine or so: showPerlDirConfig. Run this script and let it display the way that the directories are laid out for your particular installation.

Here's a quickly-written explanation of what FunkyMonk reported seeing, from a fellow user of Debian (and derivatives)...

Debian Perl is built by the Debian Perl package contributor in a manner that accords with Debian filesystem hierarchy policy as well as not being in any way contrary to Perl "policy" with regards to dir layout (Perl's configure supports laying out the dirs pretty much any way the user sees fit).

That (Debian) policy states, sensibly IMHO, that things which have architecture-dependent characteristics go under a lib/ parent while things that have a cross-architecture or are IOW "architecture-neutral" go under a share/ parent. So your arch perl directories are /usr/lib/perl/5.8 and /usr/lib/perl5 and your non-arch are /usr/share/perl/5.8 and /usr/share/perl5/.

The apparent duplication (2 each of non-/usr/local/ directory parents, for arch and non-arch) is because of the use of vendordirs in the Debian package layout.

In case it isn't obvious, the whole notion of a convention of having a major filesystem branch named share/ is that stuff in it is able to be shared between different computer architectures. It has nothing to do with "sharing" between users, as some might think.


  • Comment on Re^4: "use lib" and architecture-specific paths

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://720105]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2018-06-19 15:13 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.