The MP_APXS option worked to get past the first error. Thanks.
Good. I'll make sure that the error message will mention that.
Two questions:
1. I read the manual page on apxs and tried a variety of options. After getting streams of errors, I moved on to the MP_APXS solution. I'm still curious to understand how apxs works. If the command line for creating mod_perl is not time consuming to reproduce, could you include those in your reply? I'd like to work backward to figure out how apxs used. Once I understand it in one area, I should be able to generalize to other uses.
mod_perl queries apxs to get the information about the apache installation. For examples to figure out where apache .h files are it issues:
apxs -q INCLUDEDIR
Normally if you install httpd and all its files under one directory, providing the path to that directory via the MP_AP_PREFIX option is enough, since mod_perl finds apxs, apr-config and other things by itself. However when things are spread around the file system (don't live under the same tree), one has to explicitly tell the path to MP_APXS and sometimes for other things (like MP_APR_CONFIG). Eventually the build will be polished to get the error messages intuitive enough for users to proceed without reading any docs. If you can help to improve the diagnostics system that will help a lot.
Hope that answers your question.
2. Having completed the first step of the build (perl Makefile.pl...) I am back to the second error as reported in my original post. It occurs in the test cycle of the make && make test phase, as follows:
/usr/local/apache2/bin/httpd -d /root/modperl-2.0/t -f
/root/modperl-2.0/t/conf/httpd.conf -DAPACHE2 -DPERL_USEITHREADS using
Apache/2.0.47 (prefork MPM)
waiting for server to start: .Syntax error on line 11 of
/root/modperl-2.0/t/conf/httpd.conf:
module access_module is built-in and can't be loaded
!!!
server has died with status 255 (t/logs/error_log wasn't created, start
the server in the debug mode)
make: *** [run_tests] Error 143
[EMAIL PROTECTED] modperl-2.0]#
Before I start hacking at files used to generate the test conf, I need to understand what's up. Prior to running the make, I stopped my .45 version of httpd and removed the earlier mod_perl library. Am I running in to other modules that I need to remove before running make?
What happens is that Apache::Test tries to inherit the configuration from the system-wide httpd.conf. So if you have any LoadModule directives, it'll move them to t/conf/httpd.conf that it generates.
I think what happened in your case is that you previously has built httpd with shared objects (one of them was mod_access.c), so it created the global httpd.conf with directive 'LoadModule access_module mod_access.so', next you probably built httpd again but this time has compiled mod_access statically. However when you run 'make install', apache build system won't overwrite the existing httpd.conf file, so you have left with invalid directives in the file.
I'm pretty sure that if you try to start httpd normally (without mod_perl) it'll fail with the same error. If that's the case, just nuke that global httpd.conf and run 'make install' from the httpd-2.0.47 directory again. then return to run 'make test' in the mod_perl directory.
Meanwhile I'll patch Apache::Test to put LoadModule directives inside <IfModule ...> so this problem affect Apache::Test.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com