On 17 February 2015 at 09:40, Michael Lackhoff <mich...@lackhoff.de> wrote:
> Am 15.02.2015 um 19:08 schrieb Steve Hay:
>
>>>> If you want 32-bit then the easiest way is to build it yourself using
>>>> a perl that you built yourself with the same compiler.
>>>
>>>
>>> Is there a recommended compiler? I use Strawberry perl, do you know
>>> which compiler is used for that perl? As you say, it would be better to
>>> use the same. And I would like to stick to it because there are so many
>>> binaries of difficult modules already included.
>>>
>>
>> Unfortunately you'll need to use VC++ for now because mod_perl doesn't
>> currently support gcc/dmake (which is what both StrawberryPerl and
>> ActivePerl now use). I hope to fix that soon, though...
>
>
> I tried it and made some progress but am not there yet...
>
> Here is what I did (everything within a clean Windows 7 32 bit VM with VC9,
> both with SP1 and all updates installed):
> 1. Compile perl 5.20.1
> 2. add APXS to Apache 2.2.29 (tried both self compiled and Apache Lounge VC9
> binary)
> 3. Compile and install mod_perl with/to the perl from step 1.
> 4. Start Apache with mod_perl -> works
>
> but from there on I got into problems...
>
> 5. extract a fresh Strawberry Perl 5.20.1 32-bit portable
> 6. copy everything relevant(?) according to the file list of Steve's 5.16.3
> 32-bit package from the self-compiled Perl to the Strawberry tree.
> 7. change PATH to point to Strawberry perl
> 8. Start Apache with mod_perl -> crashes
>
> Now I have a somewhat working mod_perl but cannot use it in my environment
> (and there are good reasons to use Stawberry).
>
> Please, can you give a detailed recipe, especially with the steps necessary
> to transfer the compiled mod_perl stuff to Strawberry?
>

You can't. The VC9 build of the mod_perl components are not compatible
with StrawberryPerl, which is built with gcc and therefore uses a
different CRT (msvcrt.dll vs msvcr90.dll).

The 32-bit components that I've built before were built with VC6 in
order to use the same CRT as StrawberryPerl/ActivePerl, but that's no
longer an option since ActiveState only make 64-bit-int versions of
their 32-bit ActivePerl available now and the 64-bit-int build option
doesn't work with VC6 due to bugs in that ancient compiler. I can make
a 32-bit-int VC6 perl myself, of course, but then the mod_perl
components still won't match ActivePerl because of the 32/64-bit-int
mismatch... That is why I've only made 64-bit versions available
recently...

And that's why I need to change mod_perl so that it can be built with gcc/dmake.

(I asked ActiveState to consider making 32-bit-int versions available
as well (like StrawberryPerl do), but they declined.)

Reply via email to