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