Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

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.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1006484]
[marto]: did that pg-GPU engine ever go mainstream?
[erix]: pgstrom? no, I don't think so
[erix]: although I have to admit its project page looks reasonable uptodate

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2018-05-24 14:10 GMT
Find Nodes?
    Voting Booth?