Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Building a local perl to use the system perl's libraries as a fallback

by moritz (Cardinal)
on Nov 30, 2012 at 15:24 UTC ( #1006484=note: print w/ replies, xml ) Need Help??


in reply to Building a local perl to use the system perl's libraries as a fallback

Does this seem reasonable?

No. It seems very dangerous to me.

XS modules can be binary incompatible between two perls that were compiled with different flags. For example the perl that comes with Ubuntu is compiled with -Dusethreads, and so XS modules compiled for that perl will assume that perl is threaded. Now if the perlbrew-installed perl wasn't configured with threads, and tries to load a threaded XS module, things could go very badly.

In the best case you'll get a segmentation fault pretty quickly. In the first case you'll simply get memory corruption and thus output values that are wrong in subtle ways, and you will have a very hard time finding and diagnosing those errors.

And there are many more flags than just threading, so much potential for things to go wrong.

So, don't make such a fallback. Instead simply install missing modules for the perlbrew installation when needed. Run

perlbrew install-cpanm

and then your modules are just a cpanm Desired::Module away.


Comment on Re: Building a local perl to use the system perl's libraries as a fallback
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006484]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (12)
As of 2014-10-01 13:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (22 votes), past polls