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* <suppressed
> <mailto:suppressed>> 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* <suppressed
> <mailto:suppressed>
> > <mailto:suppressed <mailto:suppressed>>>
> 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
> >
> >
>
>
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.