From: Charlie Savage Date: 2010-04-06T14:22:44+09:00 Subject: [ruby-core:29278] [Bug #3092] IO Broken with Latest Windows Issue #3092 has been updated by Charlie Savage. Hi Usaka, Yes, this fixes the main problem - IO now works! However, this bit though doesn't work: ifndef EWOULDBLOCK /* VC10 has this */ #define EWOULDBLOCK WSAEWOULDBLOCK #endif The reason is that errno.h is loaded after ruby/win32.h. So when building ruby with VC 2010 you see lots of errors like I have pasted below. Not sure what the best way to solve it is, but there are a lot of them now. From errno.h shipped with VC 2010 beta: /* POSIX SUPPLEMENT */ #define EADDRINUSE 100 #define EADDRNOTAVAIL 101 #define EAFNOSUPPORT 102 #define EALREADY 103 #define EBADMSG 104 #define ECANCELED 105 #define ECONNABORTED 106 #define ECONNREFUSED 107 #define ECONNRESET 108 #define EDESTADDRREQ 109 #define EHOSTUNREACH 110 #define EIDRM 111 #define EINPROGRESS 112 #define EISCONN 113 #define ELOOP 114 #define EMSGSIZE 115 #define ENETDOWN 116 #define ENETRESET 117 #define ENETUNREACH 118 #define ENOBUFS 119 #define ENODATA 120 #define ENOLINK 121 #define ENOMSG 122 #define ENOPROTOOPT 123 #define ENOSR 124 #define ENOSTR 125 #define ENOTCONN 126 #define ENOTRECOVERABLE 127 #define ENOTSOCK 128 #define ENOTSUP 129 #define EOPNOTSUPP 130 #define EOTHER 131 #define EOVERFLOW 132 #define EOWNERDEAD 133 #define EPROTO 134 #define EPROTONOSUPPORT 135 #define EPROTOTYPE 136 #define ETIME 137 #define ETIMEDOUT 138 #define ETXTBSY 139 #define EWOULDBLOCK 140 So then this results in the below list of warnings. Minor, and can be ignored, but would be nice to eliminate the noise. Maybe include a check against VC2010 and don't define all these contants? ------------------------- cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fovm.obj -c -Tcvm.c vm.c C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(92) : warning C4005: 'EADDRINUSE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(419) : see previous definition of 'EADDRINUSE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(93) : warning C4005: 'EADDRNOTAVAIL' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(420) : see previous definition of 'EADDRNOTAVAIL' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(94) : warning C4005: 'EAFNOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(418) : see previous definition of 'EAFNOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(95) : warning C4005: 'EALREADY' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(408) : see previous definition of 'EALREADY' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(98) : warning C4005: 'ECONNABORTED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(424) : see previous definition of 'ECONNABORTED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(99) : warning C4005: 'ECONNREFUSED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(432) : see previous definition of 'ECONNREFUSED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(100) : warning C4005: 'ECONNRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(425) : see previous definition of 'ECONNRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(101) : warning C4005: 'EDESTADDRREQ' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(410) : see previous definition of 'EDESTADDRREQ' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(102) : warning C4005: 'EHOSTUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(436) : see previous definition of 'EHOSTUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(104) : warning C4005: 'EINPROGRESS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(407) : see previous definition of 'EINPROGRESS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(105) : warning C4005: 'EISCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(427) : see previous definition of 'EISCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(106) : warning C4005: 'ELOOP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(433) : see previous definition of 'ELOOP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(107) : warning C4005: 'EMSGSIZE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(411) : see previous definition of 'EMSGSIZE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(108) : warning C4005: 'ENETDOWN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(421) : see previous definition of 'ENETDOWN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(109) : warning C4005: 'ENETRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(423) : see previous definition of 'ENETRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(110) : warning C4005: 'ENETUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(422) : see previous definition of 'ENETUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(111) : warning C4005: 'ENOBUFS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(426) : see previous definition of 'ENOBUFS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(115) : warning C4005: 'ENOPROTOOPT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(413) : see previous definition of 'ENOPROTOOPT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(118) : warning C4005: 'ENOTCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(428) : see previous definition of 'ENOTCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(120) : warning C4005: 'ENOTSOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(409) : see previous definition of 'ENOTSOCK' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(122) : warning C4005: 'EOPNOTSUPP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(416) : see previous definition of 'EOPNOTSUPP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(127) : warning C4005: 'EPROTONOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(414) : see previous definition of 'EPROTONOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(128) : warning C4005: 'EPROTOTYPE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(412) : see previous definition of 'EPROTOTYPE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(130) : warning C4005: 'ETIMEDOUT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(431) : see previous definition of 'ETIMEDOUT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(132) : warning C4005: 'EWOULDBLOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(405) : see previous definition of 'EWOULDBLOCK' cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fovm_dump.obj -c -Tcvm_dump.c vm_dump.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fothread.obj -c -Tcthread.c thread.c C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(92) : warning C4005: 'EADDRINUSE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(419) : see previous definition of 'EADDRINUSE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(93) : warning C4005: 'EADDRNOTAVAIL' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(420) : see previous definition of 'EADDRNOTAVAIL' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(94) : warning C4005: 'EAFNOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(418) : see previous definition of 'EAFNOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(95) : warning C4005: 'EALREADY' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(408) : see previous definition of 'EALREADY' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(98) : warning C4005: 'ECONNABORTED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(424) : see previous definition of 'ECONNABORTED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(99) : warning C4005: 'ECONNREFUSED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(432) : see previous definition of 'ECONNREFUSED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(100) : warning C4005: 'ECONNRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(425) : see previous definition of 'ECONNRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(101) : warning C4005: 'EDESTADDRREQ' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(410) : see previous definition of 'EDESTADDRREQ' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(102) : warning C4005: 'EHOSTUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(436) : see previous definition of 'EHOSTUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(104) : warning C4005: 'EINPROGRESS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(407) : see previous definition of 'EINPROGRESS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(105) : warning C4005: 'EISCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(427) : see previous definition of 'EISCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(106) : warning C4005: 'ELOOP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(433) : see previous definition of 'ELOOP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(107) : warning C4005: 'EMSGSIZE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(411) : see previous definition of 'EMSGSIZE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(108) : warning C4005: 'ENETDOWN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(421) : see previous definition of 'ENETDOWN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(109) : warning C4005: 'ENETRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(423) : see previous definition of 'ENETRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(110) : warning C4005: 'ENETUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(422) : see previous definition of 'ENETUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(111) : warning C4005: 'ENOBUFS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(426) : see previous definition of 'ENOBUFS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(115) : warning C4005: 'ENOPROTOOPT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(413) : see previous definition of 'ENOPROTOOPT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(118) : warning C4005: 'ENOTCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(428) : see previous definition of 'ENOTCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(120) : warning C4005: 'ENOTSOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(409) : see previous definition of 'ENOTSOCK' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(122) : warning C4005: 'EOPNOTSUPP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(416) : see previous definition of 'EOPNOTSUPP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(127) : warning C4005: 'EPROTONOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(414) : see previous definition of 'EPROTONOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(128) : warning C4005: 'EPROTOTYPE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(412) : see previous definition of 'EPROTOTYPE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(130) : warning C4005: 'ETIMEDOUT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(431) : see previous definition of 'ETIMEDOUT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(132) : warning C4005: 'EWOULDBLOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(405) : see previous definition of 'EWOULDBLOCK' cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Focont.obj -c -Tccont.c cont.c C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(92) : warning C4005: 'EADDRINUSE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(419) : see previous definition of 'EADDRINUSE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(93) : warning C4005: 'EADDRNOTAVAIL' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(420) : see previous definition of 'EADDRNOTAVAIL' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(94) : warning C4005: 'EAFNOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(418) : see previous definition of 'EAFNOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(95) : warning C4005: 'EALREADY' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(408) : see previous definition of 'EALREADY' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(98) : warning C4005: 'ECONNABORTED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(424) : see previous definition of 'ECONNABORTED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(99) : warning C4005: 'ECONNREFUSED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(432) : see previous definition of 'ECONNREFUSED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(100) : warning C4005: 'ECONNRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(425) : see previous definition of 'ECONNRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(101) : warning C4005: 'EDESTADDRREQ' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(410) : see previous definition of 'EDESTADDRREQ' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(102) : warning C4005: 'EHOSTUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(436) : see previous definition of 'EHOSTUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(104) : warning C4005: 'EINPROGRESS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(407) : see previous definition of 'EINPROGRESS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(105) : warning C4005: 'EISCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(427) : see previous definition of 'EISCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(106) : warning C4005: 'ELOOP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(433) : see previous definition of 'ELOOP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(107) : warning C4005: 'EMSGSIZE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(411) : see previous definition of 'EMSGSIZE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(108) : warning C4005: 'ENETDOWN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(421) : see previous definition of 'ENETDOWN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(109) : warning C4005: 'ENETRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(423) : see previous definition of 'ENETRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(110) : warning C4005: 'ENETUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(422) : see previous definition of 'ENETUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(111) : warning C4005: 'ENOBUFS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(426) : see previous definition of 'ENOBUFS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(115) : warning C4005: 'ENOPROTOOPT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(413) : see previous definition of 'ENOPROTOOPT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(118) : warning C4005: 'ENOTCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(428) : see previous definition of 'ENOTCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(120) : warning C4005: 'ENOTSOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(409) : see previous definition of 'ENOTSOCK' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(122) : warning C4005: 'EOPNOTSUPP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(416) : see previous definition of 'EOPNOTSUPP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(127) : warning C4005: 'EPROTONOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(414) : see previous definition of 'EPROTONOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(128) : warning C4005: 'EPROTOTYPE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(412) : see previous definition of 'EPROTOTYPE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(130) : warning C4005: 'ETIMEDOUT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(431) : see previous definition of 'ETIMEDOUT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(132) : warning C4005: 'EWOULDBLOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(405) : see previous definition of 'EWOULDBLOCK' cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Foascii.obj -c -Tc./enc/ascii.c ascii.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fous_ascii.obj -c -Tc./enc/us_ascii.c us_ascii.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Founicode.obj -c -Tc./enc/unicode.c unicode.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Foutf_8.obj -c -Tc./enc/utf_8.c utf_8.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fonewline.obj -c -Tcnewline.c newline.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Foacosh.obj -c -Tc./missing/acosh.c acosh.c c:\development\src\ruby\include\ruby/win32.h(407) : warning C4005: 'EINPROGRESS' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(104) : see previous definition of 'EINPROGRESS' c:\development\src\ruby\include\ruby/win32.h(408) : warning C4005: 'EALREADY' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(95) : see previous definition of 'EALREADY' c:\development\src\ruby\include\ruby/win32.h(409) : warning C4005: 'ENOTSOCK' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(120) : see previous definition of 'ENOTSOCK' c:\development\src\ruby\include\ruby/win32.h(410) : warning C4005: 'EDESTADDRREQ' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(101) : see previous definition of 'EDESTADDRREQ' c:\development\src\ruby\include\ruby/win32.h(411) : warning C4005: 'EMSGSIZE' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(107) : see previous definition of 'EMSGSIZE' c:\development\src\ruby\include\ruby/win32.h(412) : warning C4005: 'EPROTOTYPE' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(128) : see previous definition of 'EPROTOTYPE' c:\development\src\ruby\include\ruby/win32.h(413) : warning C4005: 'ENOPROTOOPT' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(115) : see previous definition of 'ENOPROTOOPT' c:\development\src\ruby\include\ruby/win32.h(414) : warning C4005: 'EPROTONOSUPPORT' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(127) : see previous definition of 'EPROTONOSUPPORT' c:\development\src\ruby\include\ruby/win32.h(416) : warning C4005: 'EOPNOTSUPP' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(122) : see previous definition of 'EOPNOTSUPP' c:\development\src\ruby\include\ruby/win32.h(418) : warning C4005: 'EAFNOSUPPORT' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(94) : see previous definition of 'EAFNOSUPPORT' c:\development\src\ruby\include\ruby/win32.h(419) : warning C4005: 'EADDRINUSE' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(92) : see previous definition of 'EADDRINUSE' c:\development\src\ruby\include\ruby/win32.h(420) : warning C4005: 'EADDRNOTAVAIL' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(93) : see previous definition of 'EADDRNOTAVAIL' c:\development\src\ruby\include\ruby/win32.h(421) : warning C4005: 'ENETDOWN' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(108) : see previous definition of 'ENETDOWN' c:\development\src\ruby\include\ruby/win32.h(422) : warning C4005: 'ENETUNREACH' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(110) : see previous definition of 'ENETUNREACH' c:\development\src\ruby\include\ruby/win32.h(423) : warning C4005: 'ENETRESET' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(109) : see previous definition of 'ENETRESET' c:\development\src\ruby\include\ruby/win32.h(424) : warning C4005: 'ECONNABORTED' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(98) : see previous definition of 'ECONNABORTED' c:\development\src\ruby\include\ruby/win32.h(425) : warning C4005: 'ECONNRESET' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(100) : see previous definition of 'ECONNRESET' c:\development\src\ruby\include\ruby/win32.h(426) : warning C4005: 'ENOBUFS' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(111) : see previous definition of 'ENOBUFS' c:\development\src\ruby\include\ruby/win32.h(427) : warning C4005: 'EISCONN' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(105) : see previous definition of 'EISCONN' c:\development\src\ruby\include\ruby/win32.h(428) : warning C4005: 'ENOTCONN' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(118) : see previous definition of 'ENOTCONN' c:\development\src\ruby\include\ruby/win32.h(431) : warning C4005: 'ETIMEDOUT' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(130) : see previous definition of 'ETIMEDOUT' c:\development\src\ruby\include\ruby/win32.h(432) : warning C4005: 'ECONNREFUSED' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(99) : see previous definition of 'ECONNREFUSED' c:\development\src\ruby\include\ruby/win32.h(433) : warning C4005: 'ELOOP' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(106) : see previous definition of 'ELOOP' c:\development\src\ruby\include\ruby/win32.h(436) : warning C4005: 'EHOSTUNREACH' : macro redefinition C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(102) : see previous definition of 'EHOSTUNREACH' cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Focbrt.obj -c -Tc./missing/cbrt.c cbrt.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Focrypt.obj -c -Tc./missing/crypt.c crypt.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Foerf.obj -c -Tc./missing/erf.c erf.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Folgamma_r.obj -c -Tc./missing/lgamma_r.c lgamma_r.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fostrlcat.obj -c -Tc./missing/strlcat.c strlcat.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fostrlcpy.obj -c -Tc./missing/strlcpy.c strlcpy.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fotgamma.obj -c -Tc./missing/tgamma.c tgamma.c cl -nologo -MDd -Zi -W2 -wd4996 -Od -Zm600 -RTC1 -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_100 -I./include -I. -I./missing -Fowin32.obj -c -Tc./win32/win32.c win32.c C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(92) : warning C4005: 'EADDRINUSE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(419) : see previous definition of 'EADDRINUSE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(93) : warning C4005: 'EADDRNOTAVAIL' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(420) : see previous definition of 'EADDRNOTAVAIL' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(94) : warning C4005: 'EAFNOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(418) : see previous definition of 'EAFNOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(95) : warning C4005: 'EALREADY' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(408) : see previous definition of 'EALREADY' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(98) : warning C4005: 'ECONNABORTED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(424) : see previous definition of 'ECONNABORTED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(99) : warning C4005: 'ECONNREFUSED' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(432) : see previous definition of 'ECONNREFUSED' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(100) : warning C4005: 'ECONNRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(425) : see previous definition of 'ECONNRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(101) : warning C4005: 'EDESTADDRREQ' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(410) : see previous definition of 'EDESTADDRREQ' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(102) : warning C4005: 'EHOSTUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(436) : see previous definition of 'EHOSTUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(104) : warning C4005: 'EINPROGRESS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(407) : see previous definition of 'EINPROGRESS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(105) : warning C4005: 'EISCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(427) : see previous definition of 'EISCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(106) : warning C4005: 'ELOOP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(433) : see previous definition of 'ELOOP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(107) : warning C4005: 'EMSGSIZE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(411) : see previous definition of 'EMSGSIZE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(108) : warning C4005: 'ENETDOWN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(421) : see previous definition of 'ENETDOWN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(109) : warning C4005: 'ENETRESET' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(423) : see previous definition of 'ENETRESET' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(110) : warning C4005: 'ENETUNREACH' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(422) : see previous definition of 'ENETUNREACH' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(111) : warning C4005: 'ENOBUFS' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(426) : see previous definition of 'ENOBUFS' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(115) : warning C4005: 'ENOPROTOOPT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(413) : see previous definition of 'ENOPROTOOPT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(118) : warning C4005: 'ENOTCONN' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(428) : see previous definition of 'ENOTCONN' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(120) : warning C4005: 'ENOTSOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(409) : see previous definition of 'ENOTSOCK' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(122) : warning C4005: 'EOPNOTSUPP' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(416) : see previous definition of 'EOPNOTSUPP' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(127) : warning C4005: 'EPROTONOSUPPORT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(414) : see previous definition of 'EPROTONOSUPPORT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(128) : warning C4005: 'EPROTOTYPE' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(412) : see previous definition of 'EPROTOTYPE' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(130) : warning C4005: 'ETIMEDOUT' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(431) : see previous definition of 'ETIMEDOUT' C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\errno.h(132) : warning C4005: 'EWOULDBLOCK' : macro redefinition c:\Development\src\ruby\include\ruby/win32.h(405) : see previous definition of 'EWOULDBLOCK' ---------------------------------------- http://redmine.ruby-lang.org/issues/show/3092 ---------------------------------------- http://redmine.ruby-lang.org