Hi,

Just read your bug report and could swear the test suite fails because
you haven't patched the original module but the one you have already
installed in your /usr/perl5/lib/... when running "make test" the module
in the downloaded distro is used and not the one already installed (and
patched).

Tom


Georg Grabler schrieb:
> Followed your advice, i filed a bug report.
> 
> Georg
> 
> On 8/2/06, *Tom Schindl* <[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>> wrote:
> 
>     Would you mind filing a bug against Apache2::SOAP. Then Randy may fix
>     his dirty hack to determine MP2-Version ;-)
> 
>     http://rt.cpan.org/Public/Dist/Display.html?Name=Apache2-SOAP
> 
>     Tom
> 
>     Georg Grabler schrieb:
>     > Well, i kicked out the old code which seemed to be buggy of
>     > Apache2::SOAP, and used the codepiece you gave me to determine which
>     > modperl version i'm using.
>     >
>     > What shall i say, except thank you very much, Tom. It works perfectly
>     > now, and all the day searching for a mistake i did in my server
>     > configuration now ended up in a as it seems a bugfix for a bug in
>     a module.
>     >
>     > Thank you for your time, and the help you provided me, and hopefully
>     > others, when they're reading the archives.
>     > Georg
>     >
>     > On 8/2/06, *Tom Schindl* <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>
>     > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
>     wrote:
>     >
>     >     Georg Grabler schrieb:
>     >     > A the logfile says, i execute the method using Apache2.
>     >     >
>     >     > For a better understanding:
>     >     >
>     >     >   my $cl = ($self->{'MOD_PERL_VERSION'} == 1) ?
>     >     >     $r->header_in('Content-length') :
>     >     $r->headers_in->{'Content-length'};
>     >     >
>     >     > This is the code Apache2::SOAP module uses for determining
>     the version
>     >     > of modperl.
>     >     > The $self->{'MOD_PERL_VERSION'} gets set in the new method,
>     where the
>     >     > code seems to fail at all.. so the version is never set to two.
>     >     >
>     >     > codepiece cut from Apache2::SOAP:
>     >     > sub new {
>     >     >   my $self = shift;
>     >     >   unless (ref $self) {
>     >     >     my $class = ref($self) || $self;
>     >     >     $self = $class->SUPER::new(@_);
>     >     >     SOAP::Trace::objects('()');
>     >     >   }
>     >     >  MOD_PERL: {
>     >     >     (eval { require Apache;} ) and do {
>     >     >        require Apache::Constants;
>     >     >        Apache::Constants->import('OK');
>     >     >        $self->{'MOD_PERL_VERSION'} = 1;
>     >     >        last MOD_PERL;
>     >     >      };
>     >     >     (eval { require Apache2::RequestRec;} ) and do {
>     >     >       require Apache2::RequestUtil;
>     >     >       require Apache2::RequestIO;
>     >     >       require Apache2::Const;
>     >     >       require APR::Table;
>     >     >       Apache2::Const->import(-compile => 'OK');
>     >     >       $self->{'MOD_PERL_VERSION'} = 2;
>     >     >       print "!!MOD PERL VERSION DEFINED!!";
>     >     >       last MOD_PERL;
>     >     >     };
>     >     >     die "Unsupported version of mod_perl";
>     >     >   }
>     >     >   return $self;
>     >     > }
>     >
>     >     Do you have mp1 and mp2 installed in the same perl-tree.
>     >
>     >     If yes then it's clear why you always get to
>     >     "$self->{'MOD_PERL_VERSION'} = 1;". To distinguish if running
>     in mp1 or
>     >     mp2 a module should use totally different code.
>     >
>     >     if (exists $ENV{MOD_PERL_API_VERSION} &&
>     $ENV{MOD_PERL_API_VERSION}
>     >     == 2) {
>     >     require Apache2::Response;
>     >     require Apache2::RequestRec;
>     >     require Apache2::RequestUtil;
>     >     require Apache2::RequestIO;
>     >     // ...
>     >     } else {
>     >     require Apache;
>     >     // ...
>     >     }
>     >
>     >     I'd advice the Apache2::SOAP maintainer that he will get into
>     trouble
>     >     when mp1 and mp2 are installed in the same tree.
>     >
>     >     Tom
>     >
>     >
> 
> 

Reply via email to