Mailing List Archive

trying mod_perl patches for httpd 2.4
Hi all,

I downloaded 2.0.7 source, then applied these patches:

http://jkaluza.fedorapeople.org/mod_perl/all.tgz


My first attempt:

$ perl Makefile.PL
MP_APXS unspecified, using /usr/bin/apxs

no conflicting prior mod_perl version found - good.
Configuring Apache/2.4.3 mod_perl/2.0.7 Perl/v5.16.1
[ error] Can't find apr include/ directory,
[ error] use MP_APR_CONFIG=/path/to/apr-config


I finally found apr-config as apr-1-config, so my second attempt worked:

$ perl Makefile.PL MP_APR_CONFIG=/usr/bin/apr-1-config
Reading Makefile.PL args from @ARGV
MP_APR_CONFIG = /usr/bin/apr-1-config
MP_APXS unspecified, using /usr/bin/apxs

no conflicting prior mod_perl version found - good.
Configuring Apache/2.4.3 mod_perl/2.0.7 Perl/v5.16.1
Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
...
<snip>
...


Then we make:

$ make
cd "src/modules/perl" && make
make[1]: Entering directory `/home/andy/apps/mod_perl-2.0.7/src/modules/perl'
cc -I/home/andy/apps/mod_perl-2.0.7/src/modules/perl -I/home/andy/apps/mod_perl-2.0.7/xs -I/usr/include/apr-1 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X -D_LARGEFILE64_SOURCE -O2 -march=i486 -mtune=i686 -fPIC \
...
<snip>
...
cc -I/home/andy/apps/mod_perl-2.0.7/src/modules/perl -I/home/andy/apps/mod_perl-2.0.7/xs -I/usr/include/apr-1 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X -D_LARGEFILE64_SOURCE -O2 -march=i486 -mtune=i686 -fPIC \
-c modperl_constants.c && mv modperl_constants.o modperl_constants.lo
modperl_constants.c: In function 'modperl_constants_lookup_apache2_const':
modperl_constants.c:809:22: error: 'OPT_INCNOEXEC' undeclared (first use in this function)
modperl_constants.c:809:22: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [modperl_constants.lo] Error 1
make[1]: Leaving directory `/home/andy/apps/mod_perl-2.0.7/src/modules/perl'
make: *** [modperl_lib] Error 2

I'm using:

Slackware 14 (32-bit)
Perl 5.16.1


Any hints what I should do now?

Thanks,

-Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: trying mod_perl patches for httpd 2.4 [ In reply to ]
On 09/22/2012 11:20 AM, Andy Colson wrote:
> Hi all,
>
> I downloaded 2.0.7 source, then applied these patches:
>
> http://jkaluza.fedorapeople.org/mod_perl/all.tgz
>
>
> My first attempt:
>
> $ perl Makefile.PL
> MP_APXS unspecified, using /usr/bin/apxs
>
> no conflicting prior mod_perl version found - good.
> Configuring Apache/2.4.3 mod_perl/2.0.7 Perl/v5.16.1
> [ error] Can't find apr include/ directory,
> [ error] use MP_APR_CONFIG=/path/to/apr-config
>
>
> I finally found apr-config as apr-1-config, so my second attempt worked:
>
> $ perl Makefile.PL MP_APR_CONFIG=/usr/bin/apr-1-config
> Reading Makefile.PL args from @ARGV
> MP_APR_CONFIG = /usr/bin/apr-1-config
> MP_APXS unspecified, using /usr/bin/apxs
>
> no conflicting prior mod_perl version found - good.
> Configuring Apache/2.4.3 mod_perl/2.0.7 Perl/v5.16.1
> Checking if your kit is complete...
> Looks good
> Checking if your kit is complete...
> Looks good
> ...
> <snip>
> ...
>
>
> Then we make:
>
> $ make
> cd "src/modules/perl" && make
> make[1]: Entering directory `/home/andy/apps/mod_perl-2.0.7/src/modules/perl'
> cc -I/home/andy/apps/mod_perl-2.0.7/src/modules/perl -I/home/andy/apps/mod_perl-2.0.7/xs -I/usr/include/apr-1 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X -D_LARGEFILE64_SOURCE -O2 -march=i486 -mtune=i686 -fPIC \
> ...
> <snip>
> ...
> cc -I/home/andy/apps/mod_perl-2.0.7/src/modules/perl -I/home/andy/apps/mod_perl-2.0.7/xs -I/usr/include/apr-1 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X -D_LARGEFILE64_SOURCE -O2 -march=i486 -mtune=i686 -fPIC \
> -c modperl_constants.c && mv modperl_constants.o modperl_constants.lo
> modperl_constants.c: In function 'modperl_constants_lookup_apache2_const':
> modperl_constants.c:809:22: error: 'OPT_INCNOEXEC' undeclared (first use in this function)
> modperl_constants.c:809:22: note: each undeclared identifier is reported only once for each function it appears in
> make[1]: *** [modperl_constants.lo] Error 1
> make[1]: Leaving directory `/home/andy/apps/mod_perl-2.0.7/src/modules/perl'
> make: *** [modperl_lib] Error 2
>
> I'm using:
>
> Slackware 14 (32-bit)
> Perl 5.16.1
>
>
> Any hints what I should do now?
>
> Thanks,
>
> -Andy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
> For additional commands, e-mail: dev-help@perl.apache.org
>


Woot! First I thought I'd better try 2.0.8 from svn. The patches apply but I get the same error. Then I found:

http://www.gossamer-threads.com/lists/modperl/dev/104392#104392

So I ran:

make source_scan
make xs_generate


Then

perl Makefile.PL MP_APR_CONFIG=/usr/bin/apr-1-config

and then make built ok!

I'll continue playing...

-Andy





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: trying mod_perl patches for httpd 2.4 [ In reply to ]
Bummer...

make test totally dies:



ulimit -c unlimited; /usr/bin/perl5.16.1 /home/andy/apps/mod_perl-2.0/t/TEST -bugreport -verbose=0
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.1.3. Set the 'ServerName' directive globally to suppress this message
Not a CODE reference at /usr/lib/perl5/DynaLoader.pm line 213.
END failed--call queue aborted at /home/andy/apps/mod_perl-2.0/blib/lib/ModPerl/Const.pm line 213.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/blib/lib/Apache2/Const.pm line 18.
BEGIN failed--compilation aborted at /home/andy/apps/mod_perl-2.0/blib/lib/Apache2/Const.pm line 18.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/t/response/TestApache/subprocess.pm line 13.
BEGIN failed--compilation aborted at /home/andy/apps/mod_perl-2.0/t/response/TestApache/subprocess.pm line 13.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm line 648.
Attempt to reload Apache2/Const.pm aborted.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlmodule.pm line 16.
BEGIN failed--compilation aborted at /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlmodule.pm line 16.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm line 648.
Attempt to reload Apache2/Const.pm aborted.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlrequire.pm line 18.
BEGIN failed--compilation aborted at /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlrequire.pm line 18.
Compilation failed in require at /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm line 648.
/usr/sbin/httpd -d /home/andy/apps/mod_perl-2.0/t -f /home/andy/apps/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.4.3 (event MPM)

waiting 300 seconds for server to start: .[Sat Sep 22 11:56:13.629096 2012] [env:warn] [pid 2330:tid 3069482752] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[ error] oh crap, server dumped core
[ error] for stacktrace, run: gdb /usr/sbin/httpd -core /home/andy/apps/mod_perl-2.0/core
[ error]
server has died with status 255 (t/logs/error_log wasn't created, start the server in the debug mode)
[ error] oh dangit, server dumped core
[ error] for stacktrace, run: gdb /usr/sbin/httpd -core /home/andy/apps/mod_perl-2.0/core
sh: line 1: 2234 Terminated /usr/bin/perl5.16.1 /home/andy/apps/mod_perl-2.0/t/TEST -bugreport -verbose=0
make: *** [run_tests] Error 143


What do I do now?

-Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: trying mod_perl patches for httpd 2.4 [ In reply to ]
On 09/22/2012 06:58 PM, Andy Colson wrote:
> Bummer...
>
> make test totally dies:
>
>
>
> ulimit -c unlimited; /usr/bin/perl5.16.1
> /home/andy/apps/mod_perl-2.0/t/TEST -bugreport -verbose=0
> AH00558: httpd: Could not reliably determine the server's fully
> qualified domain name, using 192.168.1.3. Set the 'ServerName' directive
> globally to suppress this message
> Not a CODE reference at /usr/lib/perl5/DynaLoader.pm line 213.
> END failed--call queue aborted at
> /home/andy/apps/mod_perl-2.0/blib/lib/ModPerl/Const.pm line 213.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/blib/lib/Apache2/Const.pm line 18.
> BEGIN failed--compilation aborted at
> /home/andy/apps/mod_perl-2.0/blib/lib/Apache2/Const.pm line 18.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/t/response/TestApache/subprocess.pm line 13.
> BEGIN failed--compilation aborted at
> /home/andy/apps/mod_perl-2.0/t/response/TestApache/subprocess.pm line 13.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm
> line 648.
> Attempt to reload Apache2/Const.pm aborted.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlmodule.pm line
> 16.
> BEGIN failed--compilation aborted at
> /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlmodule.pm line
> 16.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm
> line 648.
> Attempt to reload Apache2/Const.pm aborted.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlrequire.pm
> line 18.
> BEGIN failed--compilation aborted at
> /home/andy/apps/mod_perl-2.0/t/response/TestDirective/perlrequire.pm
> line 18.
> Compilation failed in require at
> /home/andy/apps/mod_perl-2.0/Apache-Test/lib/Apache/TestConfigPerl.pm
> line 648.
> /usr/sbin/httpd -d /home/andy/apps/mod_perl-2.0/t -f
> /home/andy/apps/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D
> PERL_USEITHREADS
> using Apache/2.4.3 (event MPM)
>
> waiting 300 seconds for server to start: .[Sat Sep 22 11:56:13.629096
> 2012] [env:warn] [pid 2330:tid 3069482752] AH01506: PassEnv variable
> LD_LIBRARY_PATH was undefined

^ This looks like the problem, but I'm not sure why it's not set for
you. I will try to reproduce it during this week, but it works properly
for me on Fedora.

> [ error] oh crap, server dumped core
> [ error] for stacktrace, run: gdb /usr/sbin/httpd -core
> /home/andy/apps/mod_perl-2.0/core
> [ error]
> server has died with status 255 (t/logs/error_log wasn't created, start
> the server in the debug mode)
> [ error] oh dangit, server dumped core
> [ error] for stacktrace, run: gdb /usr/sbin/httpd -core
> /home/andy/apps/mod_perl-2.0/core
> sh: line 1: 2234 Terminated /usr/bin/perl5.16.1
> /home/andy/apps/mod_perl-2.0/t/TEST -bugreport -verbose=0
> make: *** [run_tests] Error 143
>
>
> What do I do now?
>
> -Andy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
> For additional commands, e-mail: dev-help@perl.apache.org
>

Regards,
Jan Kaluza


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: trying mod_perl patches for httpd 2.4 [ In reply to ]
On 9/24/2012 1:02 AM, Jan Kaluža wrote:
> On 09/22/2012 06:58 PM, Andy Colson wrote:
>> Bummer...
>>
>> make test totally dies:
>>

>> /usr/sbin/httpd -d /home/andy/apps/mod_perl-2.0/t -f
>> /home/andy/apps/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D
>> PERL_USEITHREADS
>> using Apache/2.4.3 (event MPM)
>>
>> waiting 300 seconds for server to start: .[Sat Sep 22 11:56:13.629096
>> 2012] [env:warn] [pid 2330:tid 3069482752] AH01506: PassEnv variable
>> LD_LIBRARY_PATH was undefined
>
> ^ This looks like the problem, but I'm not sure why it's not set for
> you. I will try to reproduce it during this week, but it works properly
> for me on Fedora.
>


From what little googling I did, and some prior emails to the group,
I'm wondering if its mpm/threaded related?

Is Fedora using event mpm with a threaded perl? (also, on perl 5.16.1?)

I think I kinda figured out the MP_TRACE stuff, would that be helpful at
all?

Also my gdb foo is not strong, but I'd be happy to attempt anything if
you think it might be useful.

Ahh, hang on... what if I dont have LD_LIBRARY_PATH set to anything?
I'm almost positive it isnt set at all, anywhere. Slackware uses
/etc/ld.so.conf and not LD_LIBRARY_PATH. (this might be babble talk,
I'm outta my league here)

Thanks for your time on this,

-Andy


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: trying mod_perl patches for httpd 2.4 [ In reply to ]
On 09/24/2012 03:55 PM, Andy Colson wrote:
> On 9/24/2012 1:02 AM, Jan Kaluža wrote:
>> On 09/22/2012 06:58 PM, Andy Colson wrote:
>>> Bummer...
>>>
>>> make test totally dies:
>>>
>
>>> /usr/sbin/httpd -d /home/andy/apps/mod_perl-2.0/t -f
>>> /home/andy/apps/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D
>>> PERL_USEITHREADS
>>> using Apache/2.4.3 (event MPM)
>>>
>>> waiting 300 seconds for server to start: .[Sat Sep 22 11:56:13.629096
>>> 2012] [env:warn] [pid 2330:tid 3069482752] AH01506: PassEnv variable
>>> LD_LIBRARY_PATH was undefined
>>
>> ^ This looks like the problem, but I'm not sure why it's not set for
>> you. I will try to reproduce it during this week, but it works properly
>> for me on Fedora.
>>

Actually I've found out I have this warning displayed too and it works
properly here, so the problem is not here...

I've also added one more patch (number 28) which fixes test start for
me, but the symptoms were different in my case.

>
> From what little googling I did, and some prior emails to the group,
> I'm wondering if its mpm/threaded related?
>
> Is Fedora using event mpm with a threaded perl? (also, on perl 5.16.1?)

I'm using prefork mpm here with perl-5.14.2.

> I think I kinda figured out the MP_TRACE stuff, would that be helpful at
> all?
>
> Also my gdb foo is not strong, but I'd be happy to attempt anything if
> you think it might be useful.

It should be enough to install debugging info for httpd, run what "make
test" suggests, type "bt full" and store the output somewhere. You could
also check ./t/logs/error_log if it's there.

> Ahh, hang on... what if I dont have LD_LIBRARY_PATH set to anything? I'm
> almost positive it isnt set at all, anywhere. Slackware uses
> /etc/ld.so.conf and not LD_LIBRARY_PATH. (this might be babble talk,
> I'm outta my league here)

As I said, after tests I think this is not problem.

> Thanks for your time on this,
>
> -Andy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
> For additional commands, e-mail: dev-help@perl.apache.org
>

Regards,
Jan Kaluza


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org