Return-Path: Delivered-To: apmail-perl-dev-archive@www.apache.org Received: (qmail 37253 invoked from network); 22 Aug 2007 11:28:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Aug 2007 11:28:51 -0000 Received: (qmail 41435 invoked by uid 500); 22 Aug 2007 11:28:48 -0000 Delivered-To: apmail-perl-dev-archive@perl.apache.org Received: (qmail 41266 invoked by uid 500); 22 Aug 2007 11:28:47 -0000 Mailing-List: contact dev-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@perl.apache.org Received: (qmail 41255 invoked by uid 99); 22 Aug 2007 11:28:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Aug 2007 04:28:47 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [142.132.30.225] (HELO theoryx5.uwinnipeg.ca) (142.132.30.225) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 22 Aug 2007 11:28:46 +0000 Received: from theoryx5.uwinnipeg.ca (localhost.localdomain [127.0.0.1]) by theoryx5.uwinnipeg.ca (8.12.8/8.12.8) with ESMTP id l7MBPvI2028106; Wed, 22 Aug 2007 06:25:57 -0500 Received: from localhost (randy@localhost) by theoryx5.uwinnipeg.ca (8.12.8/8.12.8/Submit) with ESMTP id l7MBPvgI028102; Wed, 22 Aug 2007 06:25:57 -0500 Date: Wed, 22 Aug 2007 06:25:57 -0500 (CDT) From: Randy Kobes To: Steve Hay cc: dev@perl.apache.org, "William A. Rowe, Jr." Subject: Re: Problems building mod_perl-2.0.3 on Win32 with VC8 In-Reply-To: <1B32FF956ABF414C9BCE5E487A1497E758976A@ukmail02.planit.group> Message-ID: References: <1B32FF956ABF414C9BCE5E487A1497E758976A@ukmail02.planit.group> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Checked: Checked by ClamAV on apache.org On Wed, 22 Aug 2007, Steve Hay wrote: > 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. [ ... ] I don't have VC 8 yet, but I'm wondering if, at least, part of the problem is that mod_perl doesn't handle manifest files in any Makefile. The recent version of the Win32 apxs you're using does recognize them; that involved the addition of something like if exist $(TargetPath).manifest mt.exe -manifest $(TargetPath).manifest -outputresource:$(TargetPath);2 to the Makefile; perhaps we need something like this in mp2? > 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(). This is strange - the removal of ap_requires() from server/core.c happened 19 months ago, so mp2 should be aware of that. If I'm following things correctly in the mp2 sources, though, it should be defined; mp2\WrapXS\Apache2\Access\Access.xs defines ap_requires() in terms of mpxs_ap_requires(), which is defined in mp2\xs\Apache2\Access\Apache2__Access.h. So it sounds like this is an internal mp2 problem; could that also be related to manifest files? -- best regards, Randy --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org