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.

Reply via email to