I'm trying to build mod_perl-2.0.3 on Win32 with VC8 but I can't get the
server to start up with mod_perl loaded. It starts up fine without it.

I've built perl-5.8.8 together with a series of patches that add support
for building it with VC8. (perl-5.9.5 would work just as well since it
already includes them, but I want something more "stable" than that.)
That works OK and passes all tests.

I've then built httpd-2.2.4 together with two patches that add support
for building that with VC8 (these are revisions 416160 and 495126 from
svn.apache.org). That also works OK, and the server starts up and shows
the "It works!" page.

Next up I installed apxs-0.6 and built mod_perl-2.0.3 as follows:

        perl Configure.pl --with-apache2=C:/apache2.2
--with-apache-prog=httpd.exe
        perl Makefile.PL MP_AP_PREFIX=C:/apache2.2
        nmake

That went off without a hitch, but when I come to run "nmake test" I
find that the server doesn't start up. It loads perl58.dll OK, but won't
load mod_perl.so. My httpd.conf file is the default except for a change
to the ServerName directive plus the addition of these two lines:

LoadFile C:\perl5\bin\perl58.dll
LoadModule perl_module modules/mod_perl.so

When I ran "depends mod_perl.so" I found that httpd's libapr*.dll's
could not be found, so I added C:\apache2.2\bin to my PATH and tried
again. Now "depends mod_perl.so" shows no dependencies are missing but
the server still won't start up. Here's the output from running "httpd
-t -e debug":

[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
actions_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
alias_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
asis_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
auth_basic_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authn_default_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authn_file_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authz_default_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authz_groupfile_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authz_host_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
authz_user_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
autoindex_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
cgi_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
dir_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
env_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
imagemap_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
include_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
isapi_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
log_config_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
mime_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
negotiation_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
setenvif_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(246): loaded module
userdir_module
[Wed Aug 22 11:21:49 2007] [debug] mod_so.c(325): loaded file
C:\\perl5\\bin\\perl58.dll
httpd: Syntax error on line 116 of C:/apache2.2/conf/httpd.conf: Cannot
load C:/apache2.2/modules/mod_perl.so into server: The specified module
could not be found.  

I'm now at a loss as to what the problem is. Any ideas?

I then thought that I'd try building the latest 2.2.x snapshot instead
(httpd_20070822041638.tar.gz), just in case I've missed some other
relevant changes for building with VC8. That works fine (the server
starts up without mod_perl), but now I can't build mod_perl-2.0.3
against it: I get the following error when the build reaches
Apache2::Access:

link -out:..\..\..\blib\arch\auto\Apache2\Access\Access.dll [...]
Access.obj : error LNK2019: unresolved external symbol _ap_requires
referenced in function _mpxs_ap_requires
..\..\..\blib\arch\auto\Apache2\Access\Access.dll : fatal error LNK1120:
1 unresolved externals

Sure enough, ap_requires() has been removed from server/core.c in the
current httpd source. I tried mod_perl from svn, but that still calls
ap_requires().

Any straws to clutch at would be gratefully appreciated. We're currently
in the process of ditching our old compiler (VC6) and I really need to
get mod_perl-2 working with VC8!

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to