Issue #5681 has been reported by Luis Lavena. ---------------------------------------- Bug #5681: Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW http://redmine.ruby-lang.org/issues/5681 Author: Luis Lavena Status: Open Priority: Normal Assignee: Nobuyoshi Nakada Category: build Target version: ruby -v: ruby 1.9.3p0 (2011-10-30) [i386-mingw32] building trunk MinGW 4.5.2 (TDM builds), building against trunk (r33885) is causing the following error: <pre> compiling ../../../../../../ruby/ext/socket/option.c ../../../../../../ruby/ext/socket/option.c:441:1: error: conflicting types for 'rb_w32_inet_ntop' ../../../../../../ruby/include/ruby/win32.h:276:22: note: previous declaration of 'rb_w32_inet_ntop' was here make[2]: *** [option.o] Error 1 make[2]: Leaving directory `/c/Users/Luis/Projects/oss/oneclick/rubyinstaller/sandbox/ruby19_build/ext/socket' make[1]: *** [ext/socket/all] Error 2 make[1]: Leaving directory `/c/Users/Luis/Projects/oss/oneclick/rubyinstaller/sandbox/ruby19_build' make: *** [build-ext] Error 2 </pre> All this triggered by recent refactoring of ruby/subst.h Applying the following patch solves the issue: diff --git a/ext/socket/option.c b/ext/socket/option.c index 1f334bb..41765f9 100644 --- a/ext/socket/option.c +++ b/ext/socket/option.c @@ -436,7 +436,7 @@ inspect_timeval_as_interval(int level, int optname, VALUE data, VALUE ret) * it is not distinguishable by the size. */ -#ifndef HAVE_INET_NTOP +#if !defined(HAVE_INET_NTOP) && !defined(_WIN32) static char * inet_ntop(int af, const void *addr, char *numaddr, size_t numaddr_len) { Can I apply? -- http://redmine.ruby-lang.org