diff options
-rw-r--r-- | INSTALL | 12 | ||||
-rw-r--r-- | Makefile.SH | 10 |
2 files changed, 17 insertions, 5 deletions
@@ -972,10 +972,14 @@ LD_PRELOAD, specifying the exact filename you wish to be used; and on Digital Unix, you can override LD_LIBRARY_PATH by setting the _RLD_ROOT environment variable to point to the perl build directory. -The only reliable answer is that you should specify a different -directory for the architecture-dependent library for your -DDEBUGGING -version of perl. You can do this by changing all the *archlib* -variables in config.sh to point to your new architecture-dependent library. +In other words, it is generally not a good idea to try to build a perl +with a shared library if $archlib/CORE/$libperl already exists from a +previous build. + +A good workaround is to specify a different directory for the +architecture-dependent library for your -DDEBUGGING version of perl. +You can do this by changing all the *archlib* variables in config.sh to +point to your new architecture-dependent library. =head2 Malloc Issues diff --git a/Makefile.SH b/Makefile.SH index cf2f38e5dc..ae6072e0b7 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -104,6 +104,13 @@ true) case "$osname" in linux) + # If there is a pre-existing $libperl from a previous + # installation, Linux needs to use LD_PRELOAD to + # override the LD_LIBRARY_PATH setting. See the + # INSTALL file, under "Building a shared perl library". + # If there is no pre-existing $libperl, we don't need + # to do anything further. + if test -f $archlib/CORE/$libperl; then rm -f preload cat <<'EOT' > preload #! /bin/sh @@ -114,7 +121,8 @@ exec "$@" EOT chmod 755 preload ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl" - ;; + fi + ;; os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth" ;; esac |