perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Kobes <ra...@theoryx5.uwinnipeg.ca>
Subject RE: Problems building mod_perl-2.0.3 on Win32 with VC8
Date Wed, 22 Aug 2007 18:19:15 GMT
On Wed, 22 Aug 2007, Steve Hay wrote:

> 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.

If you copy the manifest file as well to 
C:\apache2.2\modules, does mod_perl get loaded OK?

> 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 think that's because apxs with mp2 doesn't itself
generate the Makefile; it's mainly used to find paths,
libs, etc. The Makefile is being built by WriteMakefile()
of ModPerl::BuildMM at various places; I'll take a look
at trying to include the appropriate manifest command
in the right spots.

-- 
best regards,
Randy

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


Mime
View raw message