dougm 00/04/02 20:40:36
Modified: . Changes Makefile.PL
Log:
warn that dso+Perl malloc needs a Perl built with -Ubincompat5005
Revision Changes Path
1.453 +2 -0 modperl/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl/Changes,v
retrieving revision 1.452
retrieving revision 1.453
diff -u -r1.452 -r1.453
--- Changes 2000/04/03 03:11:14 1.452
+++ Changes 2000/04/03 03:40:35 1.453
@@ -10,6 +10,8 @@
=item 1.22_01-dev
+warn that dso+Perl malloc needs a Perl built with -Ubincompat5005
+
add Apache::BINMODE stub for 5.6.0 tied filehandle support (fixes cgi.t #4)
[Randy Kobes <[EMAIL PROTECTED]>]
1.153 +70 -44 modperl/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/modperl/Makefile.PL,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -r1.152 -r1.153
--- Makefile.PL 2000/03/30 00:21:48 1.152
+++ Makefile.PL 2000/04/03 03:40:35 1.153
@@ -1992,15 +1992,21 @@
}
sub phat_warn {
- my $msg = shift;
- warn <<EOF;
-************* WARNING *************
+ my($msg, $abort) = @_;
+ my $level = $abort ? "ERROR" : "WARNING";
+ warn <<EOF;
+************* $level *************
$msg
-************* WARNING *************
+************* $level *************
EOF
- sleep 5;
+ if ($abort) {
+ exit 1;
+ }
+ else {
+ sleep 5;
+ }
}
sub system_sanity_check {
@@ -2022,25 +2028,74 @@
}
gdbm_check();
+ malloc_check();
+ dynaloader_check();
+
+}
+
+sub gdbm_check {
+ if ($Config{libs} =~ /gdbm/) {
+ require DynaLoader;
+ require AutoLoader; #eek
+ my $found = 0;
+ my @path = split /\s+/, $Config{libpth};
+
+ for (@path) {
+ last if $found = DynaLoader::dl_findfile($_, "-lgdbm");
+ }
+
+ unless ($found) {
+ my @maybe = ();
+ for (@path) {
+ push @maybe, grep { ! -l $_ } <$_/libgdbm.*>;
+ }
+ my $suggest = @maybe ?
+ "You could just symlink it to $maybe[0]" :
+ "You might need to install Perl from source";
+ phat_warn(<<EOF);
+Your Perl is configured to link against libgdbm,
+ but libgdbm.so was not found.
+ $suggest
+EOF
+ }
+ }
+}
+
+sub malloc_check {
+ return unless $USE_DSO or $USE_APXS;
+ return unless $Config{'usemymalloc'} eq 'y';
+
+ my $abort = $^O eq 'solaris';
+
+ my $bincompat = $Config{bincompat5005} and
+ $Config{bincompat5005} eq 'define';
- if (($USE_DSO or $USE_APXS) and $] < 5.005_56 and
- $^O eq 'solaris' and $Config{'usemymalloc'} eq 'y')
- {
- phat_warn(<<EOF);
+ if ($] < 5.006) {
+ phat_warn(<<EOF, $abort);
Your current configuration will most likely trigger core dumps, suggestions:
*) Do not configure mod_perl as a DSO
- *) Upgrade your Perl version to 5.005_56 or higher
- *) Configure Perl with -Uusemymalloc
- *) Switch to an os other than $^O
+ *) Upgrade your Perl version to 5.6.0 or higher (w/ -Ubincompat5005)
+ *) Configure Perl with -Uusemymalloc (not recommended for performance)
EOF
- }
+ }
+ else {
+ phat_warn(<<EOF, $abort);
+Your current configuration will most likely trigger core dumps, suggestions:
+ *) Do not configure mod_perl as a DSO
+ *) Rebuild Perl without malloc pollution (Configure -Ubincompat5005)
+EOF
+ }
+}
- if ($^O eq 'aix' and $] <= 5.00503 and ($USE_DSO or $USE_APXS)) {
- phat_warn(<<EOF);
+sub dynaloader_check {
+ return unless $^O eq 'aix' and $] <= 5.00503 and ($USE_DSO or $USE_APXS);
+ phat_warn(<<EOF);
Please make sure that you apply the following patch to the perl
distribution before you install mod_perl, without this patch you will
not be able load any xs modules.
+EOF
+ warn <<EOF;
--- perl5.005_03/ext/DynaLoader/dl_aix.xs.orig Fri Mar 3 17:00:58 2000
+++ perl5.005_03/ext/DynaLoader/dl_aix.xs Fri Mar 3 17:06:51 2000
@@ -222,7 +222,16 @@
@@ -2062,33 +2117,4 @@
errvalid++;
strcpy(errbuf, "loadbind: ");
EOF
- }
-}
-
-sub gdbm_check {
- if ($Config{libs} =~ /gdbm/) {
- require DynaLoader;
- require AutoLoader; #eek
- my $found = 0;
- my @path = split /\s+/, $Config{libpth};
-
- for (@path) {
- last if $found = DynaLoader::dl_findfile($_, "-lgdbm");
- }
-
- unless ($found) {
- my @maybe = ();
- for (@path) {
- push @maybe, grep { ! -l $_ } <$_/libgdbm.*>;
- }
- my $suggest = @maybe ?
- "You could just symlink it to $maybe[0]" :
- "You might need to install Perl from source";
- phat_warn(<<EOF);
-Your Perl is configured to link against libgdbm,
- but libgdbm.so was not found.
- $suggest
-EOF
- }
- }
}