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 15:36:33 GMT
Steve Hay wrote:
> 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),

In theory that statement was correct, but in practice something seems to
be amiss (or else I'm doing it wrongly).

I said that my mod_perl.so has no unresolved dependencies, but I was
testing it in the folder in which it was generated
(C:\Temp\mod_perl-2.0.3\src\modules\perl), which also contained its
manifest file. I've now found that if I copy mod_perl.so (only--i.e. not
the manifest file as well) to another folder (e.g. C:\apache2.2\modules)
then it can no longer find MSVCR80.dll.

So presumably the manifest file didn't get embedded in it after all. It
was only "working" because it happened to have its manifest file right
next to it. If I embed it manually using the command:

mt /nologo /manifest mod_perl.so.manifest /outputresource:mod_perl.so;2

then it does now find MSVCR80.dll.

So the question is: why didn't the manifest-embedding magic in apxs-0.6
work?

I added some debug in apxs.bat (and apxs.pl to be sure), but I didn't
even see my debug get output anywhere. Does the mod_perl build process
definitely use apxs? I was using the following command-line to kick off
the build:

perl Makefile.PL MP_AP_PREFIX=C:/apache2.2

but I've also tried:

perl Makefile.PL MP_APXS=C:/apache2.2/bin/apxs

instead and it makes no difference--I still don't see my debug output
from apxs.

Is it that apxs is only being used to determine paths etc., but isn't
being used to actually do the building of anything? If so then yes, we
do need something in mp2's own Makefile.PL (or whatever) to do the
manifest-embedding.

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


Mime
View raw message