summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafayette.edu>2003-07-15 06:52:58 -0400
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-07-20 21:14:12 +0000
commit830717a75f047ef8412eae24a226ec989038565f (patch)
tree03cc805a9e1aa77e0e648ae61bc592f5297853b3
parent2b84528b3b38853e791751a3bd2b6b8990027ef2 (diff)
downloadperl-830717a75f047ef8412eae24a226ec989038565f.tar.gz
Re: [perl #22941] Can't build perl with -Duseshrplib if /usr/bin/gcc is a perl script
Date: Tue, 15 Jul 2003 10:52:58 -0400 (EDT) Message-ID: <Pine.SOL.4.53.0307151011550.7002@maxwell.phys.lafayette.edu> plus a clarification to INSTALL : Subject: [PATCH] Re: [perl #22941] Can't build perl with -Duseshrplib if /usr/bin/gcc is a perl script From: Andy Dougherty <doughera@lafayette.edu> Date: Wed, 16 Jul 2003 11:01:24 -0400 (EDT) Message-ID: <Pine.SOL.4.53.0307161059400.10258@maxwell.phys.lafayette.edu> p4raw-id: //depot/perl@20172
-rw-r--r--INSTALL12
-rw-r--r--Makefile.SH10
2 files changed, 17 insertions, 5 deletions
diff --git a/INSTALL b/INSTALL
index 359c68af0a..1f2ac62dc6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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