Subject: | Wrong mod_perl version determined |
Apache2::SOAP determines as it seems in some cases the wrong version
number of mod_perl, using apache 2.2.2 and mod_perl 2.0.2.
The following output i got (error log of apache)
-----------------------------
[Wed Aug 02 10:15:10 2006] [notice] Apache/2.2.2 (Unix) mod_perl/2.0.2
Perl/v5.8.2 configured -- resuming normal operations
[Wed Aug 02 10:15:10 2006] [info] Server built: Jul 5 2006 10:11:34
[Wed Aug 02 10:15:10 2006] [debug] prefork.c(991): AcceptMutex: sysvsem
(default: sysvsem)
[Wed Aug 02 10:15:15 2006] [error] [client 127.0.0.1] Can't locate
object method "header_in" via package "Apache2::RequestRec" at
/home/ggrabler/Apache2-SOAP-0.71/blib/lib/SOAP/Transport/HTTP2.pm line 96.\n
[Wed Aug 02 10:15:16 2006] [error] [client 127.0.0.1] Can't locate
object method "header_in" via package "Apache2::RequestRec" at
/home/ggrabler/Apache2- SOAP-0.71/blib/lib/SOAP/Transport/HTTP2.pm line
96.\n
[Wed Aug 02 10:15:16 2006] [info] removed PID file
/home/ggrabler/Apache2- SOAP-0.71/t/logs/httpd.pid (pid=52148)
[Wed Aug 02 10:15:16 2006] [notice] caught SIGTERM, shutting down
-----------------------------
So, as it seems due to header_in is the mod_perl 1 function, it seems as
the wrong version was determined.
It is fact, that both mod_perl versions are installed on the machine,
within apache1 and apache2 being installed. This is due to the fact that
this aix is just a test machine.
I think that's why i got those errors...
Tom suggested me on the mailing lists to determine the version number
with the following statement
if (exists $ENV{MOD_PERL_API_VERSION} && $ENV{MOD_PERL_API_VERSION} == 2) {
# ....
}
what seems to work for me (i simply put it in the new method instead of
your piece of code), well, the make test still seems to fail though,
there i get the strange error then that headers_in is not defined
(though he's running apache 2 and mod_perl 2.0.2 ...)
Would be great if you could get your hands on this.
Georg