http://www.perlmonks.org?node_id=607171

monkfan has asked for the wisdom of the Perl Monks concerning the following question:

Most revered monks,
I've already installed Perl version 5.8.7 in my home directory. But it is build dynamically:
bioinfo@sf3:~/.perl/bin[504]$ file perl perl: ELF 32-bit MSB executable SPARC Version 1, dynamically linked, +not stripped
Is there a way to build it "statically" so that all the Perl library can be installed in my home in whole. Unlike now, those libraries has to be called from other places:
bioinfo@sf3:~/.perl/bin[506]$ ldd perl libsocket.so.1 => /usr/lib/libsocket.so.1 libnsl.so.1 => /usr/lib/libnsl.so.1 libdl.so.1 => /usr/lib/libdl.so.1 libm.so.1 => /usr/lib/libm.so.1 libc.so.1 => /usr/lib/libc.so.1 libmp.so.2 => /usr/lib/libmp.so.2
This dynamically build Perl has given me a problem, because the Apache server where my CGI script resides (needing newer Perl compiler) and those libraries are stored in different machines in my office network.

I've looked through ./Configure --help, but it doesn't seem to indicate how to build it statically.

Regards,
Edward

Replies are listed 'Best First'.
Re: Howto Build Perl "Statically" Under Home Directory
by Tux (Canon) on Mar 29, 2007 at 07:54 UTC

    You can try to call Configure -Uusedl, but I think that will also disable the use of dynamic loaded modules

    You mighjt also need to move all modules from dynamic_ext to static_ext

    All-in-all I don't think this is the best approach. Better would be to use $LD_LIBRARY_PATH or whatever variable your system supports for the search path of your dynamic libraries.


    Enjoy, Have FUN! H.Merijn