develooper Front page | perl.perl5.porters | Postings from November 2011

Re: Windows VC6 build broken by Socket changes

Thread Previous | Thread Next
From:
Steve Hay
Date:
November 13, 2011 18:25
Subject:
Re: Windows VC6 build broken by Socket changes
Message ID:
CADED=K4Q8Puu2uCJfv99CWndPYO5SzWpGfzn2d3QF1MgpeuGOQ@mail.gmail.com
On 8 November 2011 06:34, Jan Dubois <jand@activestate.com> wrote:
> On Mon, 07 Nov 2011, Jan Dubois wrote:
>> On Mon, 07 Nov 2011, Steve Hay wrote:
>> > The changes to Socket made in 4f5bb87fb7 do not compile with the
>> > Windows VC6 compiler:
>>
>> It works fine for me, but I always use the include files from the
>> 2003 Platform SDK with VC6, which have updated winsock headers.
>>
>> I have in the past fixed a similar issue by patching our own
>> win32/include/sys/socket.h file with information from the SDK:
>>
>>     http://perl5.git.perl.org/perl.git/commitdiff/1ab9ebc1
>>
>> I'll have a look later today or tomorrow to fix the issue in a
>> similar manner (unless you want to have a go at it first :) ).
>
> Here is a minimal patch to get things to compile with plain VC6
> without Platform SDK installed:
>
[...]
>
> I didn't push it though because it will not be enough to get things
> actually working; we also need to define several constants, like
> IPV6_ADD_MEMBERSHIP etc. so that you can actually do something with
> the mreq structure once you set it up. :)
>
> I'll finish the patch tomorrow.  Is there some sample program to actually
> test IPv6 connections in Socket.pm?  The current test just checks if the
> structures can roundtrip the data, but never makes any "live" connection.
>

Have you had a chance to come back to this yet? Sorry, I don't have
any sample program for testing it, though.

I would like to get at least a fix for building with plain VC6 pushed
before 5.13.5 this coming weekend. Your patch worked fine for me,
except that I have since found that it causes a problem for gcc (at
least the latest MinGW's version - 4.6.1), which has ipv6_mreq
already, so maybe a check for #ifndef __GNUC__ would be in order?

(My MinGW build is currently having trouble anyway - each module built
by the build process that runs perlglob.exe causes that to complain
that it can't find libgcc_s_dw2-1.dll, despite that DLL being in
C:\MinGW\bin, and that folder being in my PATH...)

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About