Backport #3887

Updated by luislavena (Luis Lavena) almost 10 years ago

  This seems to be the same issue as the closed report #1292 
  make[1]: Entering directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket' 
  gcc -I. -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socket -DHAVE_SOCKADDR_STORAGE -DHAVE_INET_NTOA -DHAVE_GETSERVBYPORT -Dsocklen_t=int -DHAVE_WSACLEANUP -DHAVE_GETHOSTNAME -I.     -g -O2 -DFD_SETSIZE=256     -c ../../../../../../ruby/ext/socket/socket.c 
  In file included from ../../../../../../ruby/win32/win32.h:30:0, 
                   from ../../../../../../ruby/defines.h:183, 
                   from ../../../../../../ruby/ruby.h:37, 
                   from ../../../../../../ruby/ext/socket/socket.c:13: 
  c:\users\luis\projects\oss\oci\rubyinstaller\sandbox\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/ws2tcpip.h:272:13: error: two or more data types in declaration specifiers 
  make[1]: *** [socket.o] Error 1 
  make[1]: Leaving directory `/c/Users/Luis/Projects/oss/oci/rubyinstaller/sandbox/ruby18_build/ext/socket' 
  make: *** [all] Error 1 
  This is ruby_1_8_6 r29162 with #3883 patch applied. 
  Ruby configuration options were: 
  sh ../configure --enable-shared --with-winsock2 --disable-install-doc CFLAGS='-g -O2 -DFD_SETSIZE=256' 
  mkmf check for socklen_t: 
  have_type: checking for socklen_t... -------------------- no 
  "gcc -I../.. -I../../../../../../ruby -I../../../../../../ruby/ext/socket -I.     -g -O2 -DFD_SETSIZE=256      -c conftest.c" 
  conftest.c:5:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftest_type' 
  conftest.c:6:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'conftestval' 
  checked program was: 
  /* begin */ 
  1: #include <windows.h> 
  2: #include <winsock.h> 
  4: /*top*/ 
  5: typedef socklen_t conftest_type; 
  6: static conftest_type conftestval[sizeof(conftest_type)?1:-1]; 
  /* end */ 
  Checking rbconfig.rb COMMON_HEADERS: 
  CONFIG["COMMON_HEADERS"] = "windows.h winsock.h" 
  Which could indicate even --with-winsock2 has been defined, winsock.h is been forced. 
  Find attached the full file and generated Makefile, also config.log generated by the configure process. 
  GCC been used: 
  gcc (tdm-1) 4.5.1 
  Package provided by tdragon: