You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Steve Hay <st...@uk.radan.com> on 2006/02/15 10:33:29 UTC

[PATCH] Fix mod_perl-1.0 for perl-5.8.8 on Win32

Unfortunately, I'm still stuck in mod_perl-1.0 world and have just found 
that it doesn't build with perl-5.8.8 on Win32.

The reason is this change in perl-5.8.8:

http://public.activestate.com/cgi-bin/perlbrowse?patch=26189

(Perl switched from Winsock1 to Winsock2 a while ago (change 23200), but 
carried on accidentally loading the Winsock1 headers in some cases. 
Change 26189 does its best to prevent this.)

The reason that change breaks mod_perl-1.29 is that mp1 evidently still 
believes that perl is using Winsock1 and includes "-D _WINSOCK2API_" in 
its compile flags in order to stop Winsock2 from being loaded!

Well, now that perl is using Winsock2, that's not such a great idea: I 
find that the mod_perl.dsp part of the build process now bombs out with 
hundreds of errors relating to SOCKET etc being undefined because perl's 
sys/socket.h doesn't actually load <winsock2.h> because _WINSOCK2API_ is 
already defined.

So, the attached patch fixes all this.

It works in perl-5.8.8, and also seems to work with 5.8.7 (which doesn't 
have 26189, but is still really using Winsock2).  I haven't found time 
to try with 5.8.5 or earlier yet: these perls don't have change 23200 
(it was integrated into 5.8.6) so they're using Winsock1, which may or 
may cause a problem.

Do you want me to test with 5.8.5 to see if that still works?


------------------------------------------------
Radan Computational Ltd.

The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email.

Re: [PATCH] Fix mod_perl-1.0 for perl-5.8.8 on Win32

Posted by Steve Hay <st...@uk.radan.com>.
Randy Kobes wrote:
> On Wed, 15 Feb 2006, Geoffrey Young wrote:
> 
>>
>>> So, the attached patch fixes all this.
>>
>> randy is probably the best person to look this one over.
>>
>>> Do you want me to test with 5.8.5 to see if that still works?
>>
>> yeah, I really think we need to do that - as mp1 is still the stable
>> workhorse that the vast majority of our users are on, we can't just go
>> breaking compat with older versions of perl.  even on windows :)
>>
>> does the format allow for ifdef-type logic?  if not, while I know it's 
>> more
>> work, but maybe dynamically generating the .dsp could be investigated?
> 
> Thanks, Steve, for tracking that down. It would be nice to
> try with as many Perl versions as possible - I have 5.8.0
> 5.6 at home, but unfortunately am away for the next
> week, so won't be able to look at it before then.

I've now tried with 5.8.0, 5.8.1, 5.8.5, 5.8.6, 5.8.7 and 5.8.8 and they 
all build and test OK for me (all using apache-1.3.34).

The Changes file says that /D _WINSOCK2API_ was added by Randy in 
1.21_01 "for 1.3.9/win32", so maybe older apache's need it, or perhaps 
it was just cautionary?

Can you remember why you added it, Randy?

What's the oldest version of apache that we need to be concerned to support?


------------------------------------------------
Radan Computational Ltd.

The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email.

Re: [PATCH] Fix mod_perl-1.0 for perl-5.8.8 on Win32

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Wed, 15 Feb 2006, Geoffrey Young wrote:

>
>> So, the attached patch fixes all this.
>
> randy is probably the best person to look this one over.
>
>> Do you want me to test with 5.8.5 to see if that still works?
>
> yeah, I really think we need to do that - as mp1 is still the stable
> workhorse that the vast majority of our users are on, we can't just go
> breaking compat with older versions of perl.  even on windows :)
>
> does the format allow for ifdef-type logic?  if not, while I know it's more
> work, but maybe dynamically generating the .dsp could be investigated?

Thanks, Steve, for tracking that down. It would be nice to
try with as many Perl versions as possible - I have 5.8.0
5.6 at home, but unfortunately am away for the next
week, so won't be able to look at it before then.

I could also look at dynamically generating the .dsp - it's
already edited by the Makefile.PL procedure, so generating
the whole thing should be that hard to do.

-- 
best regards,
Randy

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


Re: [PATCH] Fix mod_perl-1.0 for perl-5.8.8 on Win32

Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> So, the attached patch fixes all this.

randy is probably the best person to look this one over.

> Do you want me to test with 5.8.5 to see if that still works?

yeah, I really think we need to do that - as mp1 is still the stable
workhorse that the vast majority of our users are on, we can't just go
breaking compat with older versions of perl.  even on windows :)

does the format allow for ifdef-type logic?  if not, while I know it's more
work, but maybe dynamically generating the .dsp could be investigated?

--Geoff

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