diff options
author | Andy Dougherty <doughera@lafayette.edu> | 2003-07-15 06:52:58 -0400 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-07-20 21:14:12 +0000 |
commit | 830717a75f047ef8412eae24a226ec989038565f (patch) | |
tree | 03cc805a9e1aa77e0e648ae61bc592f5297853b3 | |
parent | 2b84528b3b38853e791751a3bd2b6b8990027ef2 (diff) | |
download | perl-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-- | 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 |