perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Hay" <Steve...@planit.com>
Subject RE: Problems building mod_perl-2.0.3 on Win32 with VC8
Date Wed, 22 Aug 2007 11:55:42 GMT
Randy Kobes wrote:
> On Wed, 22 Aug 2007, Steve Hay wrote:
>> 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 don't think anything special is required in mp2: the new apxs handles
the httpd end of things (mod_perl.so), while the perl end of things (all
the Apache2:: modules' DLLs etc) are taken care of by the changes to
ExtUtils-MakeMaker that are among the VC8 changes in perl-current,
specifically:

http://public.activestate.com/cgi-bin/perlbrowse/p/29266

Are there any EXEs or DLLs built in mp2 that don't fall into either of
these categories?


> 
>> 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. [...]
>> 
>> 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?

I hadn't noticed that ap_requires() disappeared so long ago. I just saw
that it was not in server/core.c in the snapshot, but is in
httpd-2.2.4's source, so I assumed it was a recent change. I'll have a
harder squint at what's going on.

I haven't tried building mp2 against the httpd snapshot using VC6 yet,
so that's probably worth a try at least. I'll give that a go soon.

Btw, there is a free version of VC8 (the "Express Edition") available
for download from Microsoft's website if you want to give it a whirl
yourself: you don't have to go spending lots of money! I have VC6 and
VC8 both installed on my machine at the moment, and they co-exist quite
happily.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message