httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: Apache-Test
Date Thu, 13 Jan 2005 03:05:06 GMT
Oden Eriksson wrote:

>>>I have been struggling for several hours now trying to understand how
>>>Apache-Test is supposed to work with mod_perl-2.0.0-RC3, apache-2.0.52
>>>and Mandrakelinux. I'm maintaining these softwares in Mandrakelinux.
>>>
>>>Apache-Test seems to think it's a apache-1.x environment passing -D
>>>APACHE1 and for example using "Port" in the generated config file. Even
>>>though I have constructed a httpd.conf.in file it still wants to put Port
>>>in the generated file. I'm very confused..., and no perl hacker.
>>
>>don't touch httpd.conf. httpd.conf.in will be ignored. if you want to add
>>more config it has to be named differently. Please see:
> 
> 
> Oh, I was reading Apache-Test/README and the "Cheat List" section. I says this 
> was the thing to do. I first tried to put my httpd.conf.in file in 
> Apache-Test/t/conf/ but that was ignored. Then I put it in t/conf/ and that 
> actually worked better until I got "Port" in the generated file for some 
> reason...

Hmm, I had no idea we had this feature. I guess it exists then. My 
apologies for misleading you, Oden.

>>http://perl.apache.org/docs/general/testing/testing.html#Extending_Configur
>>ation_Setup I guess it should say that people must not create httpd.conf.in.
>>
>>please explain in detail (show the commands) what are doing, since I don't
>>understand how did you get A-T think it's running apache1.
> 
> 
> Nothing fancy, make is (excuse the rpm stuff):
> 
> %{__perl} Makefile.PL \
> %if %{build_debug}
>     MP_MAINTAINER=1 \
>     MP_TRACE=1 \
>     MP_CCOPTS="$(%{apxs} -q CFLAGS) -g3 -Werror" \
> %else
>     MP_CCOPTS="$(%{apxs} -q CFLAGS)" \
> %endif
>     MP_APXS=%{apxs} \
>     MP_APR_CONFIG=%{_bindir}/apr-config \
>     MP_INST_APACHE2=1 \
>     INSTALLDIRS=vendor </dev/null
> 
> "make test" gives:

> unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST 
> -bugreport -verbose=0
> [  error] Found mod_perl/1.999020, but it can't be used with 
> Apache-PREFORK-AdvancedExtranetServer/2.0.52
> +--------------------------------------------------------+
> | Please file a bug report: http://perl.apache.org/bugs/ |
> +--------------------------------------------------------+
> make: *** [run_tests] Error 1
> 
> Here I suspected it didn't like my funny server string, so I commented lines 
> 61-65 in the Apache-Test/lib/Apache/TestRunPerl.pm file and that gives:

may be we should stop trying to parse the leading string and just gor for 
"/x.y.zz" part. Otherwise we will never satisfy everybody.

> [...]
> 
> /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \
> t/TEST -clean
> [warning] setting ulimit to allow core files
> ulimit -c 
> unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST 
> -clean
> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= 
> APACHE_TEST_APXS= \
> /usr/bin/perl5.8.5 -Iblib/arch/Apache2 -Iblib/lib/Apache2 \
> t/TEST -bugreport -verbose=0
> [warning] setting ulimit to allow core files
> ulimit -c 
> unlimited; /usr/bin/perl5.8.5 /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/TEST 
> -bugreport -verbose=0
> /usr/sbin/httpd2  -d /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t 
> -f /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf -D APACHE1 -D 
> PERL_USEITHREADS
> using Apache-PREFORK-AdvancedExtranetServer/2.0.52 (prefork MPM)
> 
> waiting 120 seconds for server to start: .Syntax error on line 27 
> of /home/oden/RPM/BUILD/mod_perl-2.0.0-RC3/t/conf/httpd.conf:
> Port was replaced with Listen in Apache 2.0

Please post the output of:
% t/TEST -conf -trace=debug

I think what happens is this. MP_INST_APACHE2=1 tweaks Makefile to insert 
mp2 modules into Apache2 subdir, but since you use a custom INSTALLDIRS it 
fails to do that. And then:

     if ($rev == 2) {
         eval { require Apache2 && require mod_perl };
     } else {
         eval { require mod_perl };
     }

loads modperl1.

but I've just tried here with the same options and it works fine.

>>A-T is bundled with modperl and it's the one that should be run. Not any
>>previously installed A-T.
> 
> 
> The system is clean except for parts of mod_perl 1.x that seems to be a 
> requisite to get this mod_perl pick up missing pieces. Here's what's 
> installed:

what do you mean requisite? you mean mp2 requires mp1?

> $ rpm -ql mod_perl-common-1.3.31_1.29-3mdk | grep "/usr/lib/"
[...]
> /usr/lib/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/mod_perl_tuning.pod

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Mime
View raw message