Change 20172 by [EMAIL PROTECTED] on 2003/07/20 21:14:12
Subject: Re: [perl #22941] Can't build perl with -Duseshrplib if /usr/bin/gcc
is a perl script
From: Andy Dougherty <[EMAIL PROTECTED]>
Date: Tue, 15 Jul 2003 10:52:58 -0400 (EDT)
Message-ID: <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>
Date: Wed, 16 Jul 2003 11:01:24 -0400 (EDT)
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/INSTALL#130 edit
... //depot/perl/Makefile.SH#279 edit
Differences ...
==== //depot/perl/INSTALL#130 (text) ====
Index: perl/INSTALL
--- perl/INSTALL#129~20138~ Thu Jul 10 17:13:11 2003
+++ perl/INSTALL Sun Jul 20 14:14:12 2003
@@ -972,10 +972,14 @@
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
==== //depot/perl/Makefile.SH#279 (text) ====
Index: perl/Makefile.SH
--- perl/Makefile.SH#278~20001~ Fri Jul 4 14:42:12 2003
+++ perl/Makefile.SH Sun Jul 20 14:14:12 2003
@@ -104,6 +104,13 @@
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 @@
EOT
chmod 755 preload
ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
- ;;
+ fi
+ ;;
os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
;;
esac
End of Patch.