> I suspect that the perl compiled with mod_perl was a different perl than the
> one you expected.  I'll take a look and see if I can't make that error
> message a bit better (like spitting out @INC as well or something).

ok, this patch seems to be a bit better.  if I remove Apache.pm from perl's
site_lib I get this in my error log instead:

Apache.pm failed to load! (Can't locate Apache.pm in @INC (@INC contains:
/perl/perl-5.8.6/lib/5.8.6/i686-linux-thread-multi, ...) at (eval 3) line 3.
).

I'll commit it early next week unless anyone gripes.

--Geoff
Index: src/modules/perl/mod_perl.c
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
retrieving revision 1.147
diff -u -r1.147 mod_perl.c
--- src/modules/perl/mod_perl.c	2 Oct 2003 21:30:35 -0000	1.147
+++ src/modules/perl/mod_perl.c	12 Feb 2005 18:28:02 -0000
@@ -513,8 +513,15 @@
 
     require_Apache(NULL);
 
-    if(!(version = perl_get_sv("Apache::VERSION", FALSE)))
-	croak("Apache.pm failed to load!"); /*should never happen*/
+    if(!(version = perl_get_sv("Apache::VERSION", FALSE))) {
+        /* should never happen but might if the perl mod_perl
+         * was built with isn't around anymore
+         */
+	croak("Apache.pm failed to load! (%s)",
+                  SvTRUE(ERRSV) ? SvPV(ERRSV,na) : "no error?"
+              );
+    }
+
     if(strEQ(SvPV(version,n_a), MP_APACHE_VERSION)) /*no worries*/
 	return;
 

Reply via email to