Bug #1292: 1.8 compile time error with mingw gcc 4.3
http://redmine.ruby-lang.org/issues/show/1292

Author: Roger Pack
Status: Open, Priority: Normal
Target version: Ruby 1.8.6
ruby -v: 1.8.6p287

I get this compiling 1.8.6p287

gcc -I. -I../.. -I../../../ruby_1_8 -I../../../ruby_1_8/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I.   -g -O2   -c ../../../ruby_1_8/ext/socket/socket.c
In file included from ../../../ruby_1_8/win32/win32.h:30,
                 from ../../../ruby_1_8/defines.h:183,
                 from ../../../ruby_1_8/ruby.h:37,
                 from ../../../ruby_1_8/ext/socket/socket.c:13:
c:\dev\rubyi_43\sandbox\mingw\bin\../lib/gcc/mingw32/4.3.3/../../../../include/ws2tcpip.h:272: error: two or more data types in declaration specifiers
make[1]: *** [socket.o] Error 1

surrounding the offending line [272] with an
#ifndef socklen_t
typedef int socklen_t;
#endif
seems to fix it.
Thanks!


----------------------------------------
http://redmine.ruby-lang.org