Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Keeping things upto date

by scorpio17 (Monsignor)
on Dec 07, 2011 at 18:45 UTC ( #942306=note: print w/ replies, xml ) Need Help??


in reply to Keeping things upto date

What you need to do is install all the CPAN modules required by the webapps to a local lib directory, then make sure the apps search the local lib first, when looking for modules. This will help make the apps less dependent on the system perl. And if you need to distribute the apps to another server, you can just tar up the local lib directory and copy it directly, instead of having to reinstall everything via cpan.


Comment on Re: Keeping things upto date
Re^2: Keeping things upto date
by Eliya (Vicar) on Dec 07, 2011 at 20:50 UTC

    Although not dependent on the system Perl, this approach essentially has the same problems with XS modules that are linked against system libraries.

    For example, take Net::SSLeay.  The XS shared lib ".../Net/SSLeay/SSLeay.so" that directly belongs to the module is typically in turn linked against system libraries, such as /usr/lib/libssl.so.0.9.8, which implement the real functionality (the SSLeay.so is just the binding/wrapper). As those system libs are located externally of the local lib tree that you packaged up, you'll run into exactly the same problems, in case some system upgrade should've messed with those libs...

    The only way around such issues is to either

    1. link the binding statically against a ".a" version of the respective system libs (suitable for advanced users only — in any case definitely not the default)
    2. package up the (tested) system libs together with the Perl stuff, and hard-code the dynamic library search path (to your local lib dir) into the shared object of the XS binding (also not the default)
    3. as (2), but mess with LD_LIBRARY_PATH, or similar, at runtime

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2014-10-02 12:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (56 votes), past polls