Building with Perlbrew environment.
Bill Moseley <[email protected]> Sat, 28 Jul 2012 08:55:40 -0700
| Newsgroups | gmane.comp.apache.apreq |
|---|---|
| Message-ID | <CAKhN_m5NCyEr8fVN6ixGi9=F6VwcOyVYDDkcbw7=GAwASDLBGg@mail.gmail.com> |
--f46d044472d110388e04c5e5dee4 Content-Type: text/plain; charset=ISO-8859-1 Apache/2.2.17 Fedora 14, with mod_perl-2.0.7. I'm tying to build libapreq2-2.13 in a non-root Perlbrew environment. I'm able to build and install mod_perl2 without any problem. Although I have to set MP_AP_DESTDIR to someplace I can write to since I don't want to install system-wide with sudo. The important thing to realize here is that mod_perl.so ends up in a non-standard location. That's a minor problem because in my httpd.conf I can use Apache modules from their standard location, but for mod_perl I only need to specify the full path to the .so file. It seems I can build libarpreq2 successfully $ pwd /home/bill/libapreq2-2.13 $ find -name \*.so ./module/apache2/.libs/mod_apreq2.so ./module/t/c-modules/apreq_cookie_test/.libs/mod_apreq_cookie_test.so ./module/t/c-modules/apreq_upload_test/.libs/mod_apreq_upload_test.so ./module/t/c-modules/apreq_access_test/.libs/mod_apreq_access_test.so ./module/t/c-modules/apreq_big_request_test/.libs/mod_apreq_big_request_test.so ./module/t/c-modules/apreq_redirect_test/.libs/mod_apreq_redirect_test.so ./module/t/c-modules/apreq_request_test/.libs/mod_apreq_request_test.so ./module/t/c-modules/apreq_output_filter_test/.libs/mod_apreq_output_filter_test.so ./library/.libs/libapreq2.so ./glue/perl/blib/arch/auto/APR/Request/Apache2/Apache2.so ./glue/perl/blib/arch/auto/APR/Request/Request.so ./glue/perl/blib/arch/auto/APR/Request/Cookie/Cookie.so ./glue/perl/blib/arch/auto/APR/Request/Parser/Parser.so ./glue/perl/blib/arch/auto/APR/Request/Error/Error.so ./glue/perl/blib/arch/auto/APR/Request/Param/Param.so ./glue/perl/blib/arch/auto/APR/Request/CGI/CGI.so ./glue/perl/blib/arch/auto/APR/Request/Hook/Hook.so But many tests fail because mod_perl isn't getting loaded. $ fgrep Compilation glue/perl/t/logs/error_log | head -1 [Sat Jul 28 08:32:29 2012] [error] [client 127.0.0.1] failed to resolve handler `TestAPI::cookie': Can't load '/home/bill/libapreq2-2.13/glue/perl/blib/arch/auto/APR/Request/Request.so' for module APR::Request: /home/bill/libapreq2-2.13/glue/perl/blib/arch/auto/APR/Request/Request.so: *undefined symbol: PL_tainting* at /usr/lib64/perl5/DynaLoader.pm line 200.\n at /home/bill/libapreq2-2.13/glue/perl/blib/lib/APR/Request/Cookie.pm line 27\nCompilation failed in require at /home/bill/libapreq2-2.13/glue/perl/blib/lib/APR/Request/Cookie.pm line 27.\nBEGIN failed--compilation aborted at /home/bill/libapreq2-2.13/glue/perl/blib/lib/APR/Request/Cookie.pm line 27.\nCompilation failed in require at /home/bill/libapreq2-2.13/glue/perl/t/response/TestAPI/cookie.pm line 9.\nBEGIN failed--compilation aborted at /home/bill/libapreq2-2.13/glue/perl/t/response/TestAPI/cookie.pm line 9.\nCompilation failed in require at (eval 3) line 2.\n Can you think of how to build and run tests in this situation? BTW -- when running the tests I see warnings about missing include directories that are configured in my /etc/httpd/conf/httpd.conf file. Why would this configuration file get used when running tests? Thanks, -- Bill Moseley [email protected] --f46d044472d110388e04c5e5dee4 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div>Apache/2.2.17 Fedora 14, with=A0mod_perl-2.0.7.</div><div><br></div><d= iv><br></div><div>I'm tying to build=A0libapreq2-2.13 in a non-root Per= lbrew environment. =A0</div><div><br></div><div>I'm able to build and i= nstall mod_perl2 without any problem. =A0 Although I have to set=A0MP_AP_DE= STDIR to someplace I can write to since I don't want to install system-= wide with sudo. =A0 The important thing to realize here is that mod_perl.so= ends up in a non-standard location. =A0 That's a minor problem because= in my httpd.conf I can use Apache modules from their standard location, bu= t for mod_perl I only need to specify the full path to the .so file.</div> <div><br></div><div><br></div><div>It seems I can build libarpreq2 successf= ully</div><div><br></div><blockquote style=3D"margin:0 0 0 40px;border:none= ;padding:0px"><div><div>$ pwd</div></div><div><div>/home/bill/libapreq2-2.1= 3</div> </div></blockquote><blockquote style=3D"margin:0 0 0 40px;border:none;paddi= ng:0px"><div><div>$ find -name \*.so</div></div><div><div>./module/apache2/= .libs/mod_apreq2.so</div></div><div><div>./module/t/c-modules/apreq_cookie_= test/.libs/mod_apreq_cookie_test.so</div> </div><div><div>./module/t/c-modules/apreq_upload_test/.libs/mod_apreq_uplo= ad_test.so</div></div><div><div>./module/t/c-modules/apreq_access_test/.lib= s/mod_apreq_access_test.so</div></div><div><div>./module/t/c-modules/apreq_= big_request_test/.libs/mod_apreq_big_request_test.so</div> </div><div><div>./module/t/c-modules/apreq_redirect_test/.libs/mod_apreq_re= direct_test.so</div></div><div><div>./module/t/c-modules/apreq_request_test= /.libs/mod_apreq_request_test.so</div></div><div><div>./module/t/c-modules/= apreq_output_filter_test/.libs/mod_apreq_output_filter_test.so</div> </div><div><div>./library/.libs/libapreq2.so</div></div><div><div>./glue/pe= rl/blib/arch/auto/APR/Request/Apache2/Apache2.so</div></div><div><div>./glu= e/perl/blib/arch/auto/APR/Request/Request.so</div></div><div><div>./glue/pe= rl/blib/arch/auto/APR/Request/Cookie/Cookie.so</div> </div><div><div>./glue/perl/blib/arch/auto/APR/Request/Parser/Parser.so</di= v></div><div><div>./glue/perl/blib/arch/auto/APR/Request/Error/Error.so</di= v></div><div><div>./glue/perl/blib/arch/auto/APR/Request/Param/Param.so</di= v> </div><div><div>./glue/perl/blib/arch/auto/APR/Request/CGI/CGI.so</div></di= v><div><div>./glue/perl/blib/arch/auto/APR/Request/Hook/Hook.so</div></div>= </blockquote><div><br></div><div><br></div><div>But many tests fail because= mod_perl isn't getting loaded.</div> <div><br></div><div><br></div><div><div>$ fgrep Compilation glue/perl/t/log= s/error_log =A0| head -1</div><div>[Sat Jul 28 08:32:29 2012] [error] [clie= nt 127.0.0.1] failed to resolve handler `TestAPI::cookie': Can't lo= ad '/home/bill/libapreq2-2.13/glue/perl/blib/arch/auto/APR/Request/Requ= est.so' for module APR::Request: /home/bill/libapreq2-2.13/glue/perl/bl= ib/arch/auto/APR/Request/Request.so: <b>undefined symbol: PL_tainting</b> a= t /usr/lib64/perl5/DynaLoader.pm line 200.\n at /home/bill/libapreq2-2.13/g= lue/perl/blib/lib/APR/Request/Cookie.pm line 27\nCompilation failed in requ= ire at /home/bill/libapreq2-2.13/glue/perl/blib/lib/APR/Request/Cookie.pm l= ine 27.\nBEGIN failed--compilation aborted at /home/bill/libapreq2-2.13/glu= e/perl/blib/lib/APR/Request/Cookie.pm line 27.\nCompilation failed in requi= re at /home/bill/libapreq2-2.13/glue/perl/t/response/TestAPI/<a href=3D"htt= p://cookie.pm">cookie.pm</a> line 9.\nBEGIN failed--compilation aborted at = /home/bill/libapreq2-2.13/glue/perl/t/response/TestAPI/<a href=3D"http://co= okie.pm">cookie.pm</a> line 9.\nCompilation failed in require at (eval 3) l= ine 2.\n</div> </div><div><br></div><div>Can you think of how to build and run tests in th= is situation?</div><div><br></div><div><br></div><div>BTW -- when running t= he tests I see warnings about missing include directories that are configur= ed in my /etc/httpd/conf/httpd.conf file. =A0Why would this configuration f= ile get used when running tests?</div> <div><br></div><div><br></div><div>Thanks,</div><br clear=3D"all"><div><br>= </div>-- <br>Bill Moseley<br><a href=3D"mailto:[email protected]" target=3D"= _blank">[email protected]</a><br> --f46d044472d110388e04c5e5dee4--