On Sun, 9 Sep 2001, The Doctor wrote:
 
> THAT is the problem, and thanks to you Doug, the same problemed appeared in
> BSD/OS and the above FIXES the problem!!!

great news.  this has come up a bunch in the past, but nothing was done
about it.  i've added the following sanity check to Makefile.PL...

Index: Makefile.PL
===================================================================
RCS file: /home/cvs/modperl/Makefile.PL,v
retrieving revision 1.195
diff -u -r1.195 Makefile.PL
--- Makefile.PL 2001/07/17 15:54:05     1.195
+++ Makefile.PL 2001/09/09 21:55:06
@@ -2410,6 +2410,7 @@
     malloc_check();
     uselargefiles_check();
     dynaloader_check();
+    shrplib_check();
 
     if ($USE_APXS and $Config{libs} =~ /($thrlib)/) {
         my $lib = $1;
@@ -2560,4 +2561,32 @@
  /* Added by Wayne Scott 
 
 EOF
+}
+
+sub shrplib_check {
+    return unless $Config{'useshrplib'} and
+      $Config{'useshrplib'} eq 'define';
+
+    my $libperl = $Config{'libperl'} || 'libperl.so';
+
+    for my $dir (qw(/lib /usr/lib /usr/local/lib)) {
+        next unless -e "$dir/$libperl";
+
+        my $coredir = "$Config{'archlibexp'}/CORE";
+        my $corelib = "$coredir/$libperl";
+
+        phat_warn(<<EOF);
+$dir/$libperl might override
+$corelib
+
+This may cause build or runtime errors with mod_perl.
+Consider removing $dir/$libperl, it should not be there.
+
+If your vendor has installed $libperl there, complain to them and install
+Perl from source if needed.
+
+$libperl should only exist in Perl version/arch directories, for example:
+$coredir
+EOF
+    }
 }

Reply via email to