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 <j....@sydney.edu.au> 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@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log > jiegao@XXXX/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.293771 2015] > [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable > LD_LIBRARY_PATH was undefined > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] > 6 Apache2:: modules loaded > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] > 0 APR:: modules loaded > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] > base server + 32 vhosts ready to run tests > ... > waiting 300 seconds for server to start: ok (waited 2 secs) > server localhost:8529 started > server localhost:8530 listening (filter_out_apache) > server localhost:8531 listening (perlsections) > server localhost:8532 listening (inherit) > server localhost:8533 listening (TestModperl::perl_options2) > server localhost:8534 listening (TestModperl::perl_options) > server localhost:8535 listening (TestModperl::setupenv) > server localhost:8536 listening (TestModperl::merge) > server localhost:8537 listening (TestUser::rewrite) > server localhost:8538 listening (TestModules::proxy) > server localhost:8539 listening (TestVhost::config) > server localhost:8540 listening (TestVhost::log) > server localhost:8541 listening (TestDirective::perlcleanuphandler) > server localhost:8542 listening (TestProtocol::eliza) > server localhost:8543 listening (TestProtocol::echo_nonblock) > server localhost:8544 listening (TestProtocol::echo_block) > server localhost:8545 listening (TestProtocol::echo_timeout) > server localhost:8546 listening (TestProtocol::echo_bbs2) > server localhost:8547 listening (TestProtocol::pseudo_http) > server localhost:8548 listening (TestProtocol::echo_filter) > server localhost:8549 listening (TestProtocol::echo_bbs) > server localhost:8550 listening (TestPreConnection::note) > server localhost:8551 listening (TestHooks::startup) > server localhost:8552 listening (TestHooks::hookrun) > server localhost:8553 listening (TestHooks::trans) > server localhost:8554 listening (TestHooks::stacked_handlers2) > server localhost:8555 listening (TestHooks::init) > server localhost:8556 listening (TestFilter::both_str_con_add) > server localhost:8557 listening (TestFilter::in_bbs_inject_header) > server localhost:8558 listening (TestFilter::in_str_msg) > server localhost:8559 listening (TestFilter::in_bbs_msg) > server localhost:8560 listening (TestDirective::perlrequire) > server localhost:8561 listening (TestDirective::perlmodule) > server localhost:8562 listening (TestPerl::ithreads) > server localhost:8563 listening (TestPerl::ithreads3) > server localhost:8564 listening (TestDirective::perlloadmodule3) > server localhost:8565 listening (TestDirective::perlloadmodule5) > server localhost:8566 listening (TestDirective::perlloadmodule4) > server localhost:8567 listening (TestAPI::add_config) > server localhost:8568 listening (TestDirective::perlloadmodule6) > server localhost:8569 listening (TestHooks::push_handlers_anon) > t/hooks/authen_digest.t .. > 1..7 > # Running under perl version 5.020002 for linux > # Current time local: Mon Apr 13 12:28:20 2015 > # Current time GMT: Mon Apr 13 02:28:20 2015 > # Using Test.pm version 1.26 > # Using Apache/Test.pm version 1.38 > # testing : handler returned HTTP_OK > # expected: 200 > # received: '200' > ok 1 > # response had no WWW-Authenticate header > ok 2 > # testing : handler returned HTTP_UNAUTHORIZED > # expected: 401 > # received: '401' > ok 3 > # response had a WWW-Authenticate header > not ok 4 > # Failed test 4 in t/hooks/authen_digest.t at line 36 > # testing : response is using Digest authentication scheme > # expected: qr/^Digest/ > # received: undef > not ok 5 > # Failed test 5 in t/hooks/authen_digest.t at line 38 > # testing : WWW-Authenticate header contains the proper realm > # expected: qr/realm="Simple Digest"/ > # received: undef > not ok 6 > # Failed test 6 in t/hooks/authen_digest.t at line 42 > # testing : WWW-Authenticate header contains a nonce > # expected: qr/nonce="/ > # received: undef > not ok 7 > # Failed test 7 in t/hooks/authen_digest.t at line 46 > Failed 4/7 subtests > t/perl/ithreads3.t ....... > 1..6 > # Running under perl version 5.020002 for linux > # Current time local: Mon Apr 13 12:28:21 2015 > # Current time GMT: Mon Apr 13 02:28:21 2015 > # Using Test.pm version 1.26 > # Using Apache/Test.pm version 1.38 > # connecting to http://localhost:8563/ > # testing : perl-script 1 > # expected: 2 > # received: '2' > ok 1 > # testing : modperl 1 > # expected: 2 > # received: '2' > ok 2 > # testing : perl-script 2 > # expected: 5 > # received: '2' > not ok 3 > # Failed test 3 in t/perl/ithreads3.t at line 32 > # testing : modperl 2 > # expected: 5 > # received: '3' > not ok 4 > # Failed test 4 in t/perl/ithreads3.t at line 33 > # testing : perl-script 3 > # expected: 3 > # received: '2' > not ok 5 > # Failed test 5 in t/perl/ithreads3.t at line 35 > # testing : modperl 3 > # expected: 3 > # received: '3' > ok 6 > Failed 3/6 subtests > > Test Summary Report > ------------------- > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4) > Failed tests: 4-7 > t/perl/ithreads3.t (Wstat: 0 Tests: 6 Failed: 3) > Failed tests: 3-5 > Files=2, Tests=13, 2 wallclock secs ( 0.05 usr 0.02 sys + 0.99 cusr 0.31 > csys = 1.37 CPU) > Result: FAIL > Failed 2/2 test programs. 7/13 subtests failed. > [warning] server localhost:8529 shutdown > [warning] port 8529 still in use... > ...done > [ error] error running tests (please examine t/logs/error_log) > > # cat less t/logs/error_log > ******************************************************************************** > *** 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=25085 > END in modperl_extra.pl, pid=25085 > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid > 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for > /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid > 140715845183232] AH02282: No slotmem from mod_heartmonitor > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid > 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 > mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid > 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03 > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid > 140715845183232] AH00094: Command line: '/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' > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1772): AH00924: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already > initialized > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid > 140715845183232] proxy_util.c(1814): AH00926: worker > http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already > initialized > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid > 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: > authorization result: granted (no directives) > [Mon Apr 13 12:28:21.300977 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 : 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 <RequireAny>: 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 <RequireAny>: 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 <RequireAny>: 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" > *** > ******************************************************************************** > 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 <j....@sydney.edu.au> wrote: > >> Date: Fri, 10 Apr 2015 12:02:05 +1000 >> From: Jie Gao <j....@sydney.edu.au> >> To: Steve Hay <steve.m....@googlemail.com> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev >> <d...@perl.apache.org> >> 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 >> to a high value (e.g. 600) and repeat the last command. >> >> [ error] server failed to start! (please examine t/logs/error_log) >> +--------------------------------------------------------+ >> | Please file a bug report: http://perl.apache.org/bugs/ | >> +--------------------------------------------------------+ >> make: *** [run_tests] Error 1 >> [08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l >> t/logs/error_log >> -rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log >> [08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$ >> jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat >> t/logs/error_log >> ******************************************************************************** >> *** 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=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 <steve.m....@googlemail.com> wrote: >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100 >> > From: Steve Hay <steve.m....@googlemail.com> >> > To: Jie Gao <j....@sydney.edu.au> >> > CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev >> > <d...@perl.apache.org> >> > 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 <steve.m....@googlemail.com> 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 <j....@sydney.edu.au> 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 <steve.m....@googlemail.com> wrote: >> > >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100 >> > >>> From: Steve Hay <steve.m....@googlemail.com> >> > >>> To: Jie Gao <j....@sydney.edu.au> >> > >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev >> > >>> <d...@perl.apache.org> >> > >>> 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 <j....@sydney.edu.au> 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 0000000000000000 00000000 >> > >>> > 0000000000000000 0000000000000000 0 0 0 >> > >>> > >> > >>> > [ Lines removed for clarity ] >> > >>> > >> > >>> > Dynamic section at offset 0x36f8 contains 27 entries: >> > >>> > Tag Type Name/Value >> > >>> > 0x0000000000000001 (NEEDED) Shared library: >> > >>> > [libaprutil-1.so.0] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: >> > >>> > [libexpat.so.1] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: >> > >>> > [libapr-1.so.0] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: [librt.so.1] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: >> > >>> > [libcrypt.so.1] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: >> > >>> > [libpthread.so.0] >> > >>> > 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] >> > >>> > 0x000000000000000f (RPATH) Library rpath: >> > >>> > [/usr/local/httpd-2.4.12/lib:/lib/../lib64] >> > >>> > >> > >>> > [ Lines removed for clarity ] >> > >>> > >> > >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries: >> > >>> > Offset Info Type Sym. Value Sym. >> > >>> > Name + Addend >> > >>> > 000000203930 000200000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > Perl_mg_get + 0 >> > >>> > 000000203938 000300000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > Perl_sv_setiv + 0 >> > >>> > 000000203940 000400000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > Perl_sv_bless + 0 >> > >>> > 000000203948 000500000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > apr_strerror + 0 >> > >>> > 000000203950 000600000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > Perl_require_pv + 0 >> > >>> > 000000203958 000700000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > Perl_warn + 0 >> > >>> > 000000203960 000800000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > PerlIO_printf + 0 >> > >>> > 000000203968 000900000007 R_X86_64_JUMP_SLO 0000000000000000 >> > >>> > ap_strchr + 0 >> > >>> > >> > >>> > [ Lines removed for clarity ] >> > >>> > >> > >>> > Symbol table '.dynsym' contains 86 entries: >> > >>> > Num: Value Size Type Bind Vis Ndx Name >> > >>> > 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND >> > >>> > 1: 00000000000018b8 0 SECTION LOCAL DEFAULT 9 >> > >>> > 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND >> > >>> > Perl_mg_get >> > >>> > 3: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND >> > >>> > Perl_sv_setiv >> > >>> > 4: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND >> > >>> > Perl_sv_bless >> > >>> > 5: 0000000000000000 0 FUNC GLOBAL DEFAULT UND >> > >>> > apr_strerror >> > >>> > 6: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND >> > >>> > Perl_require_pv >> > >>> > 7: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND Perl_warn >> > >>> > 8: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND >> > >>> > PerlIO_printf >> > >>> > 9: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND ap_strchr >> > >>> > >> > >>> > >> > >>> > [ Lines removed for clarity ] >> > >>> > >> > >>> > Symbol table '.symtab' contains 143 entries: >> > >>> > Num: Value Size Type Bind Vis Ndx Name >> > >>> > 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND >> > >>> > 1: 0000000000000190 0 SECTION LOCAL DEFAULT 1 >> > >>> > >> > >>> > [ Lines removed for clarity ] >> > >>> > >> > >>> > 69: 0000000000000000 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 <j....@sydney.edu.au> wrote: >> > >>> > >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100 >> > >>> >> From: Jie Gao <j....@sydney.edu.au> >> > >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl >> > >>> >> Dev >> > >>> >> <d...@perl.apache.org> >> > >>> >> 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.000009 >> > >>> >> >> > >>> >> *** 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 => (0x00007fffcefff000) >> > >>> >> libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000) >> > >>> >> libaprutil-1.so.0 => >> > >>> >> /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000) >> > >>> >> libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000) >> > >>> >> libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 >> > >>> >> (0x00007f3ba8417000) >> > >>> >> librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000) >> > >>> >> libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000) >> > >>> >> libpthread.so.0 => /lib64/libpthread.so.0 >> > >>> >> (0x000000327d400000) >> > >>> >> libc.so.6 => /lib64/libc.so.6 (0x000000327d000000) >> > >>> >> /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000) >> > >>> >> libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000) >> > >>> >> libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000) >> > >>> >> >> > >>> >> >> > >>> >> *** (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='' >> > >>> >> intsize=4, longsize=8, ptrsize=8, doublesize=8, >> > >>> >> byteorder=12345678 >> > >>> >> d_longlong=define, longlongsize=8, d_longdbl=define, >> > >>> >> longdblsize=16 >> > >>> >> ivtype='long', ivsize=8, nvtype='double', nvsize=8, >> > >>> >> Off_t='off_t', lseeksize=8 >> > >>> >> alignbytes=8, prototype=define >> > >>> >> Linker and Libraries: >> > >>> >> ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' >> > >>> >> libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 >> > >>> >> /lib /lib64 /usr/lib64 /usr/local/lib64 >> > >>> >> libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc >> > >>> >> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc >> > >>> >> libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a >> > >>> >> gnulibc_version='2.12' >> > >>> >> Dynamic Linking: >> > >>> >> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, >> > >>> >> ccdlflags='-Wl,-E' >> > >>> >> cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib >> > >>> >> -fstack-protector' >> > >>> >> >> > >>> >> >> > >>> >> Characteristics of this binary (from libperl): >> > >>> >> Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS >> > >>> >> PERL_DONT_CREATE_GVSV >> > >>> >> PERL_HASH_FUNC_ONE_AT_A_TIME_HARD >> > >>> >> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP >> > >>> >> PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV >> > >>> >> USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS >> > >>> >> USE_LARGE_FILES USE_LOCALE >> > >>> >> USE_LOCALE_COLLATE >> > >>> >> USE_LOCALE_CTYPE USE_LOCALE_NUMERIC >> > >>> >> USE_PERLIO >> > >>> >> USE_PERL_ATOF USE_REENTRANT_API >> > >>> >> Built under linux >> > >>> >> Compiled at Feb 25 2015 15:58:55 >> > >>> >> %ENV: >> > >>> >> PERL_LWP_USE_HTTP_10="1" >> > >>> >> @INC: >> > >>> >> /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi >> > >>> >> /usr/local/lib/perl5/site_perl/5.20.2 >> > >>> >> /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi >> > >>> >> /usr/local/lib/perl5/5.20.2 >> > >>> >> /usr/local/lib/perl5/site_perl/5.18.2 >> > >>> >> /usr/local/lib/perl5/site_perl/5.18.0 >> > >>> >> /usr/local/lib/perl5/site_perl >> > >>> >> . >> > >>> >> >> > >>> >> *** Packages of interest status: >> > >>> >> >> > >>> >> Apache2 : - >> > >>> >> Apache2::Request : - >> > >>> >> CGI : 3.65 >> > >>> >> ExtUtils::MakeMaker: 6.98 >> > >>> >> LWP : 5.837 >> > >>> >> mod_perl : - >> > >>> >> mod_perl2 : 2.000009 >> > >>> >> >> > >>> >> >> > >>> >> 3. This is the core dump trace: (if you get a core dump): >> > >>> >> >> > >>> >> [CORE TRACE COMES HERE] >> > >>> >> >> > >>> >> This report was generated by bin/mp2bug on Sun Mar 1 06:21:21 2015 >> > >>> >> GMT. >> > >>> >> >> > >>> >> -------------8<---------- End Bug Report --------------8<---------- >> > >>> >> >> > >>> >> # ls -al /usr/local/httpd-2.4.12/lib/ >> > >>> >> total 4108 >> > >>> >> drwxr-xr-x. 4 root root 4096 Feb 27 20:07 . >> > >>> >> drwxr-xr-x. 15 root root 4096 Feb 27 20:07 .. >> > >>> >> -rw-r--r--. 1 root root 9262 Feb 27 20:07 apr.exp >> > >>> >> drwxr-xr-x. 2 root root 4096 Feb 27 20:07 apr-util-1 >> > >>> >> -rw-r--r--. 1 root root 5272 Feb 27 20:07 aprutil.exp >> > >>> >> -rw-r--r--. 1 root root 1685642 Feb 27 20:07 libapr-1.a >> > >>> >> -rwxr-xr-x. 1 root root 969 Feb 27 20:07 libapr-1.la >> > >>> >> lrwxrwxrwx. 1 root root 17 Feb 27 20:07 libapr-1.so -> >> > >>> >> libapr-1.so.0.5.1 >> > >>> >> lrwxrwxrwx. 1 root root 17 Feb 27 20:07 libapr-1.so.0 -> >> > >>> >> libapr-1.so.0.5.1 >> > >>> >> -rwxr-xr-x. 1 root root 858051 Feb 27 20:07 libapr-1.so.0.5.1 >> > >>> >> -rw-r--r--. 1 root root 1022024 Feb 27 20:07 libaprutil-1.a >> > >>> >> -rwxr-xr-x. 1 root root 1045 Feb 27 20:07 libaprutil-1.la >> > >>> >> lrwxrwxrwx. 1 root root 21 Feb 27 20:07 libaprutil-1.so -> >> > >>> >> libaprutil-1.so.0.5.4 >> > >>> >> lrwxrwxrwx. 1 root root 21 Feb 27 20:07 libaprutil-1.so.0 -> >> > >>> >> libaprutil-1.so.0.5.4 >> > >>> >> -rwxr-xr-x. 1 root root 589222 Feb 27 20:07 libaprutil-1.so.0.5.4 >> > >>> >> drwxr-xr-x. 2 root root 4096 Feb 27 20:07 pkgconfig >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > >>> >> Regards, >> > >>> >> >> > >>> >> >> > >>> >> Jie. >> > >>> >> >> > >>> >> >> > >>> >>