Hi,

At Sun, 15 Mar 2009 12:23:38 +0900,
Roger Pack wrote in [ruby-core:22894]:
> 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.

Seems extconf.rb failed to detect socklen_t.  Could you show
the mkmf.log?

-- 
Nobu Nakada