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
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
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
EOT
chmod 755 preload
ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
- ;;
+ fi
+ ;;
os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
;;
esac