Re: Trunk: APR.so won't load

2015-04-14 Thread Steve Hay
Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao  wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay  wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay 
>> To: Jie Gao 
>> CC: "modperl@perl.apache.org" , mod_perl Dev
>>  
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao  wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
>> > t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t .. Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay  wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay 
>> >> To: Jie Gao 
>> >> CC: "modperl@perl.apache.org" , mod_perl Dev
>> >>  
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===
>> >> --- lib/Apache2/Build.pm(revision 1673126)
>> >> +++ lib/Apache2/Build.pm(working copy)
>> >> @@ -616,6 +616,9 @@
>> >>  my $extra_cppflags = $self->apxs_extra_cppflags;
>> >>  $ccopts .= " " . $extra_cppflags;
>> >>
>> >> +# Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> +$ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >>  $ccopts;
>> >>  }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao  wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 
>> >> >> 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' 
>> >> >> for 'slotmem': is mod_slotmem_shm loaded??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule 
>> >> > slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-mai

Re: Trunk: APR.so won't load

2015-04-14 Thread Jie Gao
Hi Steve

Yes, I applied the AP_DEBUG patch.

Regards,

Jie 

* Steve Hay  wrote:

> Date: Tue, 14 Apr 2015 08:32:29 +0100
> From: Steve Hay 
> To: Jie Gao 
> CC: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Re: Trunk: APR.so won't load
> 
> That's great news! Was that with the AP_DEBUG patch to
> lib/Apache2/Build.pm that I posted last time, or did it just work
> without that anyway?
> 
> On 14 April 2015 at 05:13, Jie Gao  wrote:
> > Hi Steve
> >
> > I got the src from trunk again and rebuilt httpd with
> > "--enable-maintainer-mode", just as you requested, and "make test"
> > passed with my module!
> >
> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> > commented out this time for some reason.
> >
> > Still had this when running make test with mod_perl:
> >
> > t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
> > t/perl/ithreads3.t at line 32
> > # Failed test 4 in t/perl/ithreads3.t at line 33
> > # Failed test 5 in t/perl/ithreads3.t at line 35
> > t/perl/ithreads3.t .. Failed 3/6 subtests
> >
> > Thanks very much for your help!
> >
> >
> > Regards,
> >
> > Jie
> >
> > * Steve Hay  wrote:
> >
> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
> >> From: Steve Hay 
> >> To: Jie Gao 
> >> CC: "modperl@perl.apache.org" , mod_perl Dev
> >>  
> >> Subject: Re: Trunk: APR.so won't load
> >>
> >> Thanks for the extra information.
> >>
> >> I think the build with --enable-maintainer-mode succeeded simply
> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
> >> probably not related.
> >>
> >> It would be nice to allow building mod_perl with a httpd built with
> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
> >> simply need to remove -DAP_DEBUG from the build flags.
> >>
> >> So please could you try rebuilding again using a clean mod_perl source
> >> tree (i.e. revert the ap_strchr change) but with the patch below
> >> applied to it, and using an --enable-maintainer-mode httpd?
> >>
> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
> >> I do not know what the problem is there) and I wouldn't expect the two
> >> test failures to go away either, but I'm hopeful that this build might
> >> at least work.
> >>
> >> Index: lib/Apache2/Build.pm
> >> ===
> >> --- lib/Apache2/Build.pm(revision 1673126)
> >> +++ lib/Apache2/Build.pm(working copy)
> >> @@ -616,6 +616,9 @@
> >>  my $extra_cppflags = $self->apxs_extra_cppflags;
> >>  $ccopts .= " " . $extra_cppflags;
> >>
> >> +# Make sure the evil AP_DEBUG is not defined when building mod_perl
> >> +$ccopts =~ s/ ?-DAP_DEBUG\b//;
> >> +
> >>  $ccopts;
> >>  }
> >>
> >>
> >> On 13 April 2015 at 03:37, Jie Gao  wrote:
> >> > Hi Steve
> >> >
> >> > I took some time to look further into this problem:
> >> >
> >> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 
> >> >> 140397405107968] AH01177: Failed to lookup provider 'shm' for 
> >> >> 'slotmem': is mod_slotmem_shm loaded??
> >> >
> >> > and I found that the apache build process does not allow
> >> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule 
> >> > slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> >> > httpd.conf.
> >> >
> >> > Uncommenting that line made this problem go away.
> >> >
> >> > At the end of the process (with Apache built without
> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
> >> > strchr, which you suggested (but may not be necessary here without
> >> > "--enable-maintainer-mode", I could load my modules successfully.
> >> >
> >> > There were still some errors when running "make test" for mod_perl:
> >> >
> >> >
> >> > ...
> >> > t/hooks/authen_digest.t . 1/7 # Failed test 4 in 
> >> > t/hooks/authen_digest.t at line 36
> >> > # Faile

Re: Trunk: APR.so won't load

2015-04-14 Thread Steve Hay
That's great news! Was that with the AP_DEBUG patch to
lib/Apache2/Build.pm that I posted last time, or did it just work
without that anyway?

On 14 April 2015 at 05:13, Jie Gao  wrote:
> Hi Steve
>
> I got the src from trunk again and rebuilt httpd with
> "--enable-maintainer-mode", just as you requested, and "make test"
> passed with my module!
>
> Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> commented out this time for some reason.
>
> Still had this when running make test with mod_perl:
>
> t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
> t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t .. Failed 3/6 subtests
>
> Thanks very much for your help!
>
>
> Regards,
>
> Jie
>
> * Steve Hay  wrote:
>
>> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> From: Steve Hay 
>> To: Jie Gao 
>> CC: "modperl@perl.apache.org" , mod_perl Dev
>>  
>> Subject: Re: Trunk: APR.so won't load
>>
>> Thanks for the extra information.
>>
>> I think the build with --enable-maintainer-mode succeeded simply
>> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> probably not related.
>>
>> It would be nice to allow building mod_perl with a httpd built with
>> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> simply need to remove -DAP_DEBUG from the build flags.
>>
>> So please could you try rebuilding again using a clean mod_perl source
>> tree (i.e. revert the ap_strchr change) but with the patch below
>> applied to it, and using an --enable-maintainer-mode httpd?
>>
>> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> I do not know what the problem is there) and I wouldn't expect the two
>> test failures to go away either, but I'm hopeful that this build might
>> at least work.
>>
>> Index: lib/Apache2/Build.pm
>> ===
>> --- lib/Apache2/Build.pm(revision 1673126)
>> +++ lib/Apache2/Build.pm(working copy)
>> @@ -616,6 +616,9 @@
>>  my $extra_cppflags = $self->apxs_extra_cppflags;
>>  $ccopts .= " " . $extra_cppflags;
>>
>> +# Make sure the evil AP_DEBUG is not defined when building mod_perl
>> +$ccopts =~ s/ ?-DAP_DEBUG\b//;
>> +
>>  $ccopts;
>>  }
>>
>>
>> On 13 April 2015 at 03:37, Jie Gao  wrote:
>> > Hi Steve
>> >
>> > I took some time to look further into this problem:
>> >
>> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 
>> >> 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': 
>> >> is mod_slotmem_shm loaded??
>> >
>> > and I found that the apache build process does not allow
>> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule 
>> > slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> > httpd.conf.
>> >
>> > Uncommenting that line made this problem go away.
>> >
>> > At the end of the process (with Apache built without
>> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> > strchr, which you suggested (but may not be necessary here without
>> > "--enable-maintainer-mode", I could load my modules successfully.
>> >
>> > There were still some errors when running "make test" for mod_perl:
>> >
>> >
>> > ...
>> > t/hooks/authen_digest.t . 1/7 # Failed test 4 in 
>> > t/hooks/authen_digest.t at line 36
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > t/hooks/authen_digest.t . Failed 4/7 subtests
>> > ...
>> > t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
>> > t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t .. Failed 3/6 subtests
>> >
>> > Here is some more info:
>> >
>> > [12:26:07]jiegao@/usr/local/src/mod_perl:975> rm t/logs/error_log
>> > jiegao@/usr/

Re: Trunk: APR.so won't load

2015-04-13 Thread Jie Gao
Hi Steve

I got the src from trunk again and rebuilt httpd with
"--enable-maintainer-mode", just as you requested, and "make test"
passed with my module!

Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
commented out this time for some reason.

Still had this when running make test with mod_perl:

t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
t/perl/ithreads3.t at line 32
# Failed test 4 in t/perl/ithreads3.t at line 33
# Failed test 5 in t/perl/ithreads3.t at line 35
t/perl/ithreads3.t .. Failed 3/6 subtests 

Thanks very much for your help!


Regards,

Jie 

* Steve Hay  wrote:

> Date: Mon, 13 Apr 2015 09:18:50 +0100
> From: Steve Hay 
> To: Jie Gao 
> CC: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Re: Trunk: APR.so won't load
> 
> Thanks for the extra information.
> 
> I think the build with --enable-maintainer-mode succeeded simply
> because it doesn't include -DAP_DEBUG; the ap_strchr change was
> probably not related.
> 
> It would be nice to allow building mod_perl with a httpd built with
> --enable-maintainer-mode, and in the light of Joe's comment I think we
> simply need to remove -DAP_DEBUG from the build flags.
> 
> So please could you try rebuilding again using a clean mod_perl source
> tree (i.e. revert the ap_strchr change) but with the patch below
> applied to it, and using an --enable-maintainer-mode httpd?
> 
> You may still have to fiddle with slotmem_shm_module as before (sorry,
> I do not know what the problem is there) and I wouldn't expect the two
> test failures to go away either, but I'm hopeful that this build might
> at least work.
> 
> Index: lib/Apache2/Build.pm
> ===
> --- lib/Apache2/Build.pm(revision 1673126)
> +++ lib/Apache2/Build.pm(working copy)
> @@ -616,6 +616,9 @@
>  my $extra_cppflags = $self->apxs_extra_cppflags;
>  $ccopts .= " " . $extra_cppflags;
> 
> +# Make sure the evil AP_DEBUG is not defined when building mod_perl
> +$ccopts =~ s/ ?-DAP_DEBUG\b//;
> +
>  $ccopts;
>  }
> 
> 
> On 13 April 2015 at 03:37, Jie Gao  wrote:
> > Hi Steve
> >
> > I took some time to look further into this problem:
> >
> >> [Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 
> >> 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': 
> >> is mod_slotmem_shm loaded??
> >
> > and I found that the apache build process does not allow
> > slotmem_shm_module to be loaded by default, i.e.  "LoadModule 
> > slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> > httpd.conf.
> >
> > Uncommenting that line made this problem go away.
> >
> > At the end of the process (with Apache built without
> > "--enable-maintainer-mode", and with ap_strchr replaced with
> > strchr, which you suggested (but may not be necessary here without
> > "--enable-maintainer-mode", I could load my modules successfully.
> >
> > There were still some errors when running "make test" for mod_perl:
> >
> >
> > ...
> > t/hooks/authen_digest.t . 1/7 # Failed test 4 in 
> > t/hooks/authen_digest.t at line 36
> > # Failed test 5 in t/hooks/authen_digest.t at line 38
> > # Failed test 6 in t/hooks/authen_digest.t at line 42
> > # Failed test 7 in t/hooks/authen_digest.t at line 46
> > t/hooks/authen_digest.t . Failed 4/7 subtests
> > ...
> > t/perl/ithreads3.t .. 1/6 # Failed test 3 in 
> > t/perl/ithreads3.t at line 32
> > # Failed test 4 in t/perl/ithreads3.t at line 33
> > # Failed test 5 in t/perl/ithreads3.t at line 35
> > t/perl/ithreads3.t .. Failed 3/6 subtests
> >
> > Here is some more info:
> >
> > [12:26:07]jiegao@/usr/local/src/mod_perl:975> rm t/logs/error_log
> > jiegao@/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t 
> > t/perl/ithreads3.t
> > [warning] setting ulimit to allow core files
> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST 
> > -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> > /usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0/t -f 
> > /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D 
> > PERL_USEITHREADS
> > using Apache/2.4.12 (worker MPM)
> >
> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.29

Re: Trunk: APR.so won't load

2015-04-13 Thread Steve Hay
er : denied (no authenticated user 
> yet)
> [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: 
> authorization result of : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: 
> authorization result of Require valid-user : granted
> [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: 
> authorization result of : granted
> [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: 
> authorization result of Require valid-user : denied (no authenticated user 
> yet)
> [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: 
> authorization result of : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 
> 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 
> 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: 
> authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] 
> Child process pid=25093 is exiting
> [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] 
> Child process pid=25093 is exiting - server push
> END in modperl_extra.pl, pid=25093
> END in modperl_extra.pl, pid=25093
> [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] 
> AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid 
> (pid=25089)
> [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 
> 140715845183232] AH00295: caught SIGTERM, shutting down
> 
> *** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register 
> ***
> *** Following a line consisting only of * characters there should be a line  
> ***
> *** containing   
> ***
> *** "cleanup died: testing server_shutdown_cleanup_register".
> ***
> *** The next line should then read   
> ***
> *** "done with server_shutdown_cleanup_register" 
> ***
> 
>

Re: Trunk: APR.so won't load

2015-04-12 Thread Jie Gao
***
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing   ***
*** "cleanup died: testing server_shutdown_cleanup_register".***
*** The next line should then read   ***
*** "done with server_shutdown_cleanup_register" ***

Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register   ***

END in modperl_extra.pl, pid=25089
END in modperl_extra.pl, pid=25089

BTW, you can install VirtualBox on your Windows machine and have a linux 
virtual server for testing.



Regards,


Jie 

* Jie Gao  wrote:

> Date: Fri, 10 Apr 2015 12:02:05 +1000
> From: Jie Gao 
> To: Steve Hay 
> CC: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Re: Trunk: APR.so won't load
> User-Agent: Mutt/1.5.21 (2010-09-15)
> 
> Hi Steve
> 
> I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
> strchr before recompiling.  I still got the same error message after that.
> 
> I re-compiled apache without enabling the maintainer mode:
> 
> ---
> CC="gcc"; export CC
> CFLAGS="-Wall -O3"; export CFLAGS
> "./configure" \
> "--prefix=/usr/local/httpd-2.4.12" \
> "--with-included-apr" \
> "--with-mpm=worker" \
> "--enable-auth-digest" \
> "--enable-dav" \
> "--enable-expires" \
> "--enable-headers" \
> "--enable-proxy-html" \
> "--enable-xml2enc" \
> "--enable-info" \
> "--enable-mime-magic" \
> "--enable-nonportable-atomics" \
> "--enable-proxy" \
> "--enable-proxy-balancer" \
> "--enable-proxy-http" \
> "--enable-rewrite" \
> "--enable-so" \
> "--enable-ssl" \
> "--enable-unique-id" \
> "--enable-vhost-alias" \
> "--enable-modules=most" \
> "--enable-mods-shared=most" \
> "--enable-lbmethod-byrequests" \
> "--enable-lbmethod-bytraffic" \
> "--enable-lbmethod-bybusyness" \
> "--enable-lbmethod-heartbeat" \
> "--enable-heartmonitor" \
> "--enable-watchdog" \
> "--enable-ratelimit" \
> "--enable-ext-filter" \
> "--enable-request" \
> "CC=gcc" \
> "CFLAGS=-Wall -O3" \
> "$@"
> ---
> 
> and got mod_perl source code from Trunk again. mod_perl then fails "make 
> test" early on:
> 
> ---
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl 
> /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
> APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= 
> APACHE_TEST_USER= \
> /usr/local/bin/perl -Iblib/arch -Iblib/lib \
> t/TEST -bugreport -verbose=0
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl 
> /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
> /usr/local/httpd-2.4.12/bin/httpd  -d 
> /usr/local/src/mod_perl-2.0_20150310_0709/t -f 
> /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D 
> PERL_USEITHREADS
> using Apache/2.4.12 (worker MPM)
> 
> waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] 
> [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable 
> LD_LIBRARY_PATH was undefined
> [Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 
> 6 Apache2:: modules loaded
> [Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 
> 0 APR:: modules loaded
> [Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] 
> base server + 32 vhosts ready to run tests
> .
> waiting 300 seconds for server to start: not ok
> [  error] giving up after 301 secs. If you think that your system
> is slow or overloaded try again with a longer timeout value.
> by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
>

Re: Trunk: APR.so won't load

2015-04-12 Thread Joe Schaefer
r_shutdown_cleanup_register                              ***

END in modperl_extra.pl, pid=19848
END in modperl_extra.pl, pid=19848
[Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 
140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is 
mod_slotmem_shm loaded??
[Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] 
AH00020: Configuration Failed, exiting
---

Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make 
test" going as before.
 



Regards,

Jie 

* Steve Hay  wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay 
> To: Jie Gao 
> CC: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Re: Trunk: APR.so won't load
> 
> Actually, I don't think there is anything stopping -DAP_DEBUG from
> coming through from the httpd config. The change that was made
> (r357052) just stopped mod_perl from adding that itself when
> MP_MAINTAINER is specified.
> 
> But maybe we do need to filter out -DAP_DEBUG?
> Or else stop using ap_strchr() and just use strchr() directly?
> 
> Could you try the latter, since it seems like an easy fix? -- Change
> the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> to be strchr() instead and then rebuild. Does that make the problem go
> away?
> 
> 
> On 9 April 2015 at 18:16, Steve Hay  wrote:
> > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >
> > I think that symbol is not supposed to find its way into the mod_perl
> > build options, but it's obviously getting picked up somewhere and
> > slipping through...
> >
> >
> > On 9 April 2015 at 15:05, Jie Gao  wrote:
> >> Hi Steve
> >>
> >> httpd is configured with "--enable-maintainer-mode".
> >>
> >> For mod_perl:
> >>
> >>    /usr/local/bin/perl Makefile.PL 
> >>MP_APXS=/usr/local/httpd-2.4.12/bin/apxs 
> >>MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >>
> >> and I found the following line in the resultant Makefile:
> >>
> >> CCFLAGS =  -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing 
> >> -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
> >> -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT 
> >> -D_GNU_SOURCE -DAP_DEBUG
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay  wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay 
> >>> To: Jie Gao 
> >>> CC: "modperl@perl.apache.org" , mod_perl Dev
> >>>  
> >>> Subject: Re: Trunk: APR.so won't load
> >>>
> >>> Sorry for the slow reply.
> >>>
> >>> I cannot reproduce the problem here on Windows. Your example module
> >>> loads up fine with all the "use APR" lines uncommented.
> >>>
> >>> The build system (and the means by which APR::* should be loadable
> >>> without mod_perl.so being loaded) is different on Windows, but I did
> >>> notice this:
> >>>
> >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >>> gets changed to strchr, and the latter is simply imported from the C
> >>> run-time library.
> >>>
> >>> I guess that's down to this code in httpd.h:
> >>>
> >>> #ifdef AP_DEBUG
> >>>
> >>> #undef strchr
> >>> # define strchr(s, c)  ap_strchr(s,c)
> >>> #undef strrchr
> >>> # define strrchr(s, c) ap_strrchr(s,c)
> >>> #undef strstr
> >>> # define strstr(s, c)  ap_strstr(s,c)
> >>>
> >>> #else
> >>>
> >>> /** use this instead of strchr */
> >>> # define ap_strchr(s, c)    strchr(s, c)
> >>> /** use this instead of strchr */
> >>> # define ap_strchr_c(s, c)  strchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr(s, c)    strstr(s, c)
> >>> /** use t

Re: Trunk: APR.so won't load

2015-04-09 Thread Steve Hay
Actually, I don't think there is anything stopping -DAP_DEBUG from
coming through from the httpd config. The change that was made
(r357052) just stopped mod_perl from adding that itself when
MP_MAINTAINER is specified.

But maybe we do need to filter out -DAP_DEBUG?
Or else stop using ap_strchr() and just use strchr() directly?

Could you try the latter, since it seems like an easy fix? -- Change
the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
to be strchr() instead and then rebuild. Does that make the problem go
away?


On 9 April 2015 at 18:16, Steve Hay  wrote:
> Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
>
> I think that symbol is not supposed to find its way into the mod_perl
> build options, but it's obviously getting picked up somewhere and
> slipping through...
>
>
> On 9 April 2015 at 15:05, Jie Gao  wrote:
>> Hi Steve
>>
>> httpd is configured with "--enable-maintainer-mode".
>>
>> For mod_perl:
>>
>> /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs 
>> MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>>
>> and I found the following line in the resultant Makefile:
>>
>> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing 
>> -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
>> -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT 
>> -D_GNU_SOURCE -DAP_DEBUG
>>
>>
>>
>> Regards,
>>
>> Jie
>>
>> * Steve Hay  wrote:
>>
>>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>>> From: Steve Hay 
>>> To: Jie Gao 
>>> CC: "modperl@perl.apache.org" , mod_perl Dev
>>>  
>>> Subject: Re: Trunk: APR.so won't load
>>>
>>> Sorry for the slow reply.
>>>
>>> I cannot reproduce the problem here on Windows. Your example module
>>> loads up fine with all the "use APR" lines uncommented.
>>>
>>> The build system (and the means by which APR::* should be loadable
>>> without mod_perl.so being loaded) is different on Windows, but I did
>>> notice this:
>>>
>>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>>> but when I run Module.c through the preprocessor I find that ap_strchr
>>> gets changed to strchr, and the latter is simply imported from the C
>>> run-time library.
>>>
>>> I guess that's down to this code in httpd.h:
>>>
>>> #ifdef AP_DEBUG
>>>
>>> #undef strchr
>>> # define strchr(s, c)  ap_strchr(s,c)
>>> #undef strrchr
>>> # define strrchr(s, c) ap_strrchr(s,c)
>>> #undef strstr
>>> # define strstr(s, c)  ap_strstr(s,c)
>>>
>>> #else
>>>
>>> /** use this instead of strchr */
>>> # define ap_strchr(s, c) strchr(s, c)
>>> /** use this instead of strchr */
>>> # define ap_strchr_c(s, c)   strchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr(s, c)strrchr(s, c)
>>> /** use this instead of strrchr */
>>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr(s, c) strstr(s, c)
>>> /** use this instead of strrstr*/
>>> # define ap_strstr_c(s, c)   strstr(s, c)
>>>
>>> #endif
>>>
>>> so presumably I do not have AP_DEBUG defined for my build (even though
>>> it was a debug build).
>>>
>>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>>> according to an old Changes entry:
>>>
>>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>>
>>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>>> replacement of ap_strchr with strchr to not happen for you?
>>>
>>>
>>> On 27 March 2015 at 09:14, Jie Gao  wrote:
>>> > Hi All
>>> >
>>> > I had some more time looking into this, and here's some info I can 
>>> > provide.
>>> >
>>> > --
>>> >
>>> > # readelf -a 
>>> > /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>>> > ELF Header:
>>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>>> >   Class: 

Re: Trunk: APR.so won't load

2015-04-09 Thread Steve Hay
Can you see where the -DAP_DEBUG comes from, e.g. by grepping
/usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?

I think that symbol is not supposed to find its way into the mod_perl
build options, but it's obviously getting picked up somewhere and
slipping through...


On 9 April 2015 at 15:05, Jie Gao  wrote:
> Hi Steve
>
> httpd is configured with "--enable-maintainer-mode".
>
> For mod_perl:
>
> /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs 
> MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
>
> and I found the following line in the resultant Makefile:
>
> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing 
> -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
> -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT 
> -D_GNU_SOURCE -DAP_DEBUG
>
>
>
> Regards,
>
> Jie
>
> * Steve Hay  wrote:
>
>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> From: Steve Hay 
>> To: Jie Gao 
>> CC: "modperl@perl.apache.org" , mod_perl Dev
>>  
>> Subject: Re: Trunk: APR.so won't load
>>
>> Sorry for the slow reply.
>>
>> I cannot reproduce the problem here on Windows. Your example module
>> loads up fine with all the "use APR" lines uncommented.
>>
>> The build system (and the means by which APR::* should be loadable
>> without mod_perl.so being loaded) is different on Windows, but I did
>> notice this:
>>
>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
>> but when I run Module.c through the preprocessor I find that ap_strchr
>> gets changed to strchr, and the latter is simply imported from the C
>> run-time library.
>>
>> I guess that's down to this code in httpd.h:
>>
>> #ifdef AP_DEBUG
>>
>> #undef strchr
>> # define strchr(s, c)  ap_strchr(s,c)
>> #undef strrchr
>> # define strrchr(s, c) ap_strrchr(s,c)
>> #undef strstr
>> # define strstr(s, c)  ap_strstr(s,c)
>>
>> #else
>>
>> /** use this instead of strchr */
>> # define ap_strchr(s, c) strchr(s, c)
>> /** use this instead of strchr */
>> # define ap_strchr_c(s, c)   strchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr(s, c)strrchr(s, c)
>> /** use this instead of strrchr */
>> # define ap_strrchr_c(s, c)  strrchr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr(s, c) strstr(s, c)
>> /** use this instead of strrstr*/
>> # define ap_strstr_c(s, c)   strstr(s, c)
>>
>> #endif
>>
>> so presumably I do not have AP_DEBUG defined for my build (even though
>> it was a debug build).
>>
>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
>> according to an old Changes entry:
>>
>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
>>
>> but do you somehow have AP_DEBUG defined somewhere, which causes the
>> replacement of ap_strchr with strchr to not happen for you?
>>
>>
>> On 27 March 2015 at 09:14, Jie Gao  wrote:
>> > Hi All
>> >
>> > I had some more time looking into this, and here's some info I can provide.
>> >
>> > --
>> >
>> > # readelf -a 
>> > /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
>> > ELF Header:
>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
>> >   Class: ELF64
>> >   Data:  2's complement, little endian
>> >   Version:   1 (current)
>> >   OS/ABI:UNIX - System V
>> >   ABI Version:   0
>> >   Type:  DYN (Shared object file)
>> >   Machine:   Advanced Micro Devices X86-64
>> >   Version:   0x1
>> >   Entry point address:   0x1cb0
>> >   Start of program headers:  64 (bytes into file)
>> >   Start of section headers:  15480 (bytes into file)
>> >   Flags: 0x0
>> >   Size of this header:   64 (bytes)
>> >   Size of program headers:   56 (bytes)
>> >   Number of program headers: 6
>> >   Size of section headers:   64 (bytes)
>> >   Number of section headers: 29
&

Re: Trunk: APR.so won't load

2015-04-09 Thread Jie Gao
Hi Steve

httpd is configured with "--enable-maintainer-mode".

For mod_perl: 

/usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs 
MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config

and I found the following line in the resultant Makefile:

CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT 
-D_GNU_SOURCE -DAP_DEBUG



Regards,

Jie 

* Steve Hay  wrote:

> Date: Thu, 9 Apr 2015 14:29:44 +0100
> From: Steve Hay 
> To: Jie Gao 
> CC: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Re: Trunk: APR.so won't load
> 
> Sorry for the slow reply.
> 
> I cannot reproduce the problem here on Windows. Your example module
> loads up fine with all the "use APR" lines uncommented.
> 
> The build system (and the means by which APR::* should be loadable
> without mod_perl.so being loaded) is different on Windows, but I did
> notice this:
> 
> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> but when I run Module.c through the preprocessor I find that ap_strchr
> gets changed to strchr, and the latter is simply imported from the C
> run-time library.
> 
> I guess that's down to this code in httpd.h:
> 
> #ifdef AP_DEBUG
> 
> #undef strchr
> # define strchr(s, c)  ap_strchr(s,c)
> #undef strrchr
> # define strrchr(s, c) ap_strrchr(s,c)
> #undef strstr
> # define strstr(s, c)  ap_strstr(s,c)
> 
> #else
> 
> /** use this instead of strchr */
> # define ap_strchr(s, c) strchr(s, c)
> /** use this instead of strchr */
> # define ap_strchr_c(s, c)   strchr(s, c)
> /** use this instead of strrchr */
> # define ap_strrchr(s, c)strrchr(s, c)
> /** use this instead of strrchr */
> # define ap_strrchr_c(s, c)  strrchr(s, c)
> /** use this instead of strrstr*/
> # define ap_strstr(s, c) strstr(s, c)
> /** use this instead of strrstr*/
> # define ap_strstr_c(s, c)   strstr(s, c)
> 
> #endif
> 
> so presumably I do not have AP_DEBUG defined for my build (even though
> it was a debug build).
> 
> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> according to an old Changes entry:
> 
> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> 
> but do you somehow have AP_DEBUG defined somewhere, which causes the
> replacement of ap_strchr with strchr to not happen for you?
> 
> 
> On 27 March 2015 at 09:14, Jie Gao  wrote:
> > Hi All
> >
> > I had some more time looking into this, and here's some info I can provide.
> >
> > --
> >
> > # readelf -a 
> > /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> > ELF Header:
> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >   Class: ELF64
> >   Data:  2's complement, little endian
> >   Version:   1 (current)
> >   OS/ABI:UNIX - System V
> >   ABI Version:   0
> >   Type:  DYN (Shared object file)
> >   Machine:   Advanced Micro Devices X86-64
> >   Version:   0x1
> >   Entry point address:   0x1cb0
> >   Start of program headers:  64 (bytes into file)
> >   Start of section headers:  15480 (bytes into file)
> >   Flags: 0x0
> >   Size of this header:   64 (bytes)
> >   Size of program headers:   56 (bytes)
> >   Number of program headers: 6
> >   Size of section headers:   64 (bytes)
> >   Number of section headers: 29
> >   Section header string table index: 26
> >
> > Section Headers:
> >   [Nr] Name  Type Address   Offset
> >Size  EntSize  Flags  Link  Info  Align
> >   [ 0]   NULL   
> >     0 0 0
> >
> > [ Lines removed for clarity ]
> >
> > Dynamic section at offset 0x36f8 contains 27 entries:
> >   TagType Name/Value
> >  0x0001 (NEEDED) Shared library: [libaprutil-1.so.0]
> >  0x0001 (NEEDED) Shared library: [libexpat.so.1]
&g

Re: Trunk: APR.so won't load

2015-04-09 Thread Steve Hay
007 R_X86_64_JUMP_SLO  PerlIO_printf + > 0
> 00203968  00090007 R_X86_64_JUMP_SLO  ap_strchr + 0
>
> [ Lines removed for clarity ]
>
> Symbol table '.dynsym' contains 86 entries:
>Num:Value  Size TypeBind   Vis  Ndx Name
>  0:  0 NOTYPE  LOCAL  DEFAULT  UND
>  1: 18b8 0 SECTION LOCAL  DEFAULT9
>  2:  0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
>  3:  0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
>  4:  0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
>  5:  0 FUNCGLOBAL DEFAULT  UND apr_strerror
>  6:  0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
>  7:  0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
>  8:  0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
>  9:  0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>
>
> [ Lines removed for clarity ]
>
> Symbol table '.symtab' contains 143 entries:
>Num:Value  Size TypeBind   Vis  Ndx Name
>  0:  0 NOTYPE  LOCAL  DEFAULT  UND
>  1: 0190 0 SECTION LOCAL  DEFAULT1
>
> [ Lines removed for clarity ]
>
> 69:  0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
>
>
> [ Lines removed for clarity ]
>
> --
>
> It seems that ap_strchr is not defined anywhere outside httpd, and not in
> any of the shared libs. This seems to create the problem when building
> a module with mod_perl or outside the mod_perl source.
>
> I find a somewhat related change by Stas in the past in the Changes file:
>
> bug reports generating code: [Stas]
> - add (apr|apu)-config linking info
> - show the full path to the config file used to get the data for the
>   report
>
> The APR and APR::* family of modules can now be used without having
> to load mod_perl.so. On *nix, this is done by compiling the needed
> functions from the appropriate sources used to build mod_perl.so
> into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> a static library of needed functions is built, and APR/APR::*
> then link into this library [Stas, Joe Schaefer, Randy Kobes]
>
>
> I hope this helps resolve this issue in any way.
>
>
>
>
>
> Regards,
>
> Jie
>
> * Jie Gao  wrote:
>
>> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> From: Jie Gao 
>> To: "modperl@perl.apache.org" , mod_perl Dev
>>  
>> Subject: Trunk: APR.so won't load
>> User-Agent: Mutt/1.5.21 (2010-09-15)
>>
>> I have got the source code from the trunk, "make test" mostly passed except 
>> for
>> a threading issue, but I installed it anyway.
>>
>> Tried to load a test module, but it fails with the following error:
>>
>> # Error:  Can't load 
>> '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so'
>>  for module APR: 
>> /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so:
>>  undefined symbol: ap_strchr at 
>> /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
>> #  at 
>> /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm 
>> line 23.
>>
>> The following test module loads OK, but fails if I uncomment any of the "use 
>> APR::*" lines:
>>
>> #-
>>
>> package mytest::mytestmodule;
>>
>> use 5.010001;
>> use strict;
>> use warnings;
>> use Carp;
>> $SIG{__DIE__} = \&Carp::confess;
>>
>> use mod_perl2;
>> use Apache2::Connection();
>> use Apache2::RequestRec();
>> use Apache2::SubRequest();
>> use Apache2::Access();
>> use Apache2::RequestUtil();
>> use Apache2::Response();
>> use Apache2::Log();
>> use Apache2::Util();
>> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth 
>> MODE_READBYTES));
>> use Apache2::URI();
>> use Apache2::Filter ();
>> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
>> use IO::Socket qw(SOCK_STREAM);
>> use Data::Dumper;
>> use AnyDBM_File ();
>> #use APR::Brigade ();
>> #use APR::Bucket ();
>> #use APR::Base64 ();
>> #use APR::Table ();
>> #use APR::URI ();
>> use URI::Escape::XS qw/uri_escape uri_unescape/;
>> #use Apache2::MPM()

Re: Trunk: APR.so won't load

2015-03-27 Thread Jie Gao
priate sources used to build mod_perl.so
into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
a static library of needed functions is built, and APR/APR::*
then link into this library [Stas, Joe Schaefer, Randy Kobes]


I hope this helps resolve this issue in any way.





Regards,

Jie 

* Jie Gao  wrote:

> Date: Sun, 1 Mar 2015 17:30:45 +1100
> From: Jie Gao 
> To: "modperl@perl.apache.org" , mod_perl Dev
>  
> Subject: Trunk: APR.so won't load
> User-Agent: Mutt/1.5.21 (2010-09-15)
> 
> I have got the source code from the trunk, "make test" mostly passed except 
> for
> a threading issue, but I installed it anyway.
> 
> Tried to load a test module, but it fails with the following error:
> 
> # Error:  Can't load 
> '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so'
>  for module APR: 
> /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so:
>  undefined symbol: ap_strchr at 
> /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> #  at 
> /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm 
> line 23.
> 
> The following test module loads OK, but fails if I uncomment any of the "use 
> APR::*" lines:
> 
> #-
> 
> package mytest::mytestmodule;
> 
> use 5.010001;
> use strict;
> use warnings;
> use Carp;
> $SIG{__DIE__} = \&Carp::confess;
> 
> use mod_perl2;
> use Apache2::Connection();
> use Apache2::RequestRec();
> use Apache2::SubRequest();
> use Apache2::Access();
> use Apache2::RequestUtil();
> use Apache2::Response();
> use Apache2::Log();
> use Apache2::Util();
> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth 
> MODE_READBYTES));
> use Apache2::URI();
> use Apache2::Filter ();
> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> use IO::Socket qw(SOCK_STREAM);
> use Data::Dumper;
> use AnyDBM_File ();
> #use APR::Brigade ();
> #use APR::Bucket ();
> #use APR::Base64 ();
> #use APR::Table ();
> #use APR::URI ();
> use URI::Escape::XS qw/uri_escape uri_unescape/;
> #use Apache2::MPM();
> 
> our $VERSION = '1.0.1';
> 
> 1;
> __END__
> 
> #-
> 
> -8<-- Start Bug Report 8<--
> 1. Problem Description:
> 
>   [DESCRIBE THE PROBLEM HERE]
> 
> 2. Used Components and their Configuration:
> 
> *** mod_perl version 2.09
> 
> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> 
> *** Makefile.PL options:
>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
>   MP_APR_LIB => aprext
>   MP_APXS=> /usr/local/httpd-2.4.12/bin/apxs
>   MP_COMPAT_1X   => 1
>   MP_GENERATE_XS => 1
>   MP_LIBNAME => mod_perl
>   MP_USE_DSO => 1
> 
> 
> *** /usr/local/httpd-2.4.12/bin/httpd -V
> Server version: Apache/2.4.12 (Unix)
> Server built:   Feb 27 2015 20:05:23
> Server's Module Magic Number: 20120211:41
> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> Architecture:   64-bit
> Server MPM: worker
>   threaded: yes (fixed thread count)
> forked: yes (variable process count)
> Server compiled with
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=256
>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> 
> 
> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> linux-vdso.so.1 =>  (0x7fffcefff000)
> libpcre.so.0 => /lib64/libpcre.so.0 (0x00327f40)
> libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 
> (0x7f3ba864c000)
> libexpat.so.1 => /lib64/libexpat.so.1 (0x003281c0)
> libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 
> (0x7f3ba8417000)
> librt.so.1 => /lib64/librt.so.1 (0x00327dc0)
> libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0036c240)
> libpthread.so.0 => /lib64/libpthread.so.0 (0x00327d40)
> libc.so.6 => /lib64/libc.so.6 (0x00327d00)
> /lib64/ld-linux-x86-64.so.2 (0x00327cc0)
> libf

Trunk: APR.so won't load

2015-02-28 Thread Jie Gao
I have got the source code from the trunk, "make test" mostly passed except for
a threading issue, but I installed it anyway.

Tried to load a test module, but it fails with the following error:

# Error:  Can't load 
'/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so'
 for module APR: 
/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so:
 undefined symbol: ap_strchr at 
/usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
#  at 
/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm 
line 23.

The following test module loads OK, but fails if I uncomment any of the "use 
APR::*" lines:

#-

package mytest::mytestmodule;

use 5.010001;
use strict;
use warnings;
use Carp;
$SIG{__DIE__} = \&Carp::confess;

use mod_perl2;
use Apache2::Connection();
use Apache2::RequestRec();
use Apache2::SubRequest();
use Apache2::Access();
use Apache2::RequestUtil();
use Apache2::Response();
use Apache2::Log();
use Apache2::Util();
use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth 
MODE_READBYTES));
use Apache2::URI();
use Apache2::Filter ();
#use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
use IO::Socket qw(SOCK_STREAM);
use Data::Dumper;
use AnyDBM_File ();
#use APR::Brigade ();
#use APR::Bucket ();
#use APR::Base64 ();
#use APR::Table ();
#use APR::URI ();
use URI::Escape::XS qw/uri_escape uri_unescape/;
#use Apache2::MPM();

our $VERSION = '1.0.1';

1;
__END__

#-

-8<-- Start Bug Report 8<--
1. Problem Description:

  [DESCRIBE THE PROBLEM HERE]

2. Used Components and their Configuration:

*** mod_perl version 2.09

*** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
  MP_APR_LIB => aprext
  MP_APXS=> /usr/local/httpd-2.4.12/bin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME => mod_perl
  MP_USE_DSO => 1


*** /usr/local/httpd-2.4.12/bin/httpd -V
Server version: Apache/2.4.12 (Unix)
Server built:   Feb 27 2015 20:05:23
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM: worker
  threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
 -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"


*** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
linux-vdso.so.1 =>  (0x7fffcefff000)
libpcre.so.0 => /lib64/libpcre.so.0 (0x00327f40)
libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 
(0x7f3ba864c000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x003281c0)
libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 
(0x7f3ba8417000)
librt.so.1 => /lib64/librt.so.1 (0x00327dc0)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0036c240)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00327d40)
libc.so.6 => /lib64/libc.so.6 (0x00327d00)
/lib64/ld-linux-x86-64.so.2 (0x00327cc0)
libfreebl3.so => /lib64/libfreebl3.so (0x0036c280)
libdl.so.2 => /lib64/libdl.so.2 (0x00327d80)


*** (apr|apu)-config linking info

 -L/usr/local/httpd-2.4.12/lib -laprutil-1 -lexpat 
 -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread 



*** /usr/local/bin/perl -V
Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
   
  Platform:
osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, 
archname=x86_64-linux-thread-multi
uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 
12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv 
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing 
-pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', 
gccosandvers=''
in