ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
@ 2011-11-28 15:06 Luis Lavena
  2011-11-28 15:15 ` [ruby-core:41373] " KOSAKI Motohiro
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Luis Lavena @ 2011-11-28 15:06 UTC (permalink / raw
  To: ruby-core


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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [ruby-core:41373] Re: [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:06 [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW Luis Lavena
@ 2011-11-28 15:15 ` KOSAKI Motohiro
  2011-11-28 15:21   ` [ruby-core:41375] " Luis Lavena
  2011-12-04  2:34 ` [ruby-core:41469] [ruby-trunk - Bug #5681][Closed] " Luis Lavena
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: KOSAKI Motohiro @ 2011-11-28 15:15 UTC (permalink / raw
  To: ruby-core

2011/11/28 Luis Lavena <luislavena@gmail.com>:
>
> 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?

Why win32.h don't turn on HAVE_INET_NTOP?  I mean platform specific
hack should be placed in platform specific files if possible.
configure.in is also good place to place platform hacks.

I apology if I'm missing mingw spefific something.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [ruby-core:41375] Re: [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:15 ` [ruby-core:41373] " KOSAKI Motohiro
@ 2011-11-28 15:21   ` Luis Lavena
  2011-11-28 16:13     ` [ruby-core:41377] " U.Nakamura
  0 siblings, 1 reply; 7+ messages in thread
From: Luis Lavena @ 2011-11-28 15:21 UTC (permalink / raw
  To: ruby-core

On Mon, Nov 28, 2011 at 12:15 PM, KOSAKI Motohiro
<kosaki.motohiro@gmail.com> wrote:
>
> Why win32.h don't turn on HAVE_INET_NTOP?  I mean platform specific
> hack should be placed in platform specific files if possible.
> configure.in is also good place to place platform hacks.
>

Agree, but this is new, wasn't present before and Windows have lot of
substitute functions that maybe Nobu and Usa can comment better.

-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [ruby-core:41377] Re: [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:21   ` [ruby-core:41375] " Luis Lavena
@ 2011-11-28 16:13     ` U.Nakamura
  0 siblings, 0 replies; 7+ messages in thread
From: U.Nakamura @ 2011-11-28 16:13 UTC (permalink / raw
  To: ruby-core

Hello,

In message "[ruby-core:41375] Re: [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW"
    on Nov.29,2011 00:21:14, <luislavena@gmail.com> wrote:
> Agree, but this is new, wasn't present before and Windows have lot of
> substitute functions that maybe Nobu and Usa can comment better.

Nobu is the breaker and he is tracking this problem :)


Regards,
-- 
U.Nakamura <usa@garbagecollect.jp>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [ruby-core:41469] [ruby-trunk - Bug #5681][Closed] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:06 [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW Luis Lavena
  2011-11-28 15:15 ` [ruby-core:41373] " KOSAKI Motohiro
@ 2011-12-04  2:34 ` Luis Lavena
  2011-12-13  1:58 ` [ruby-core:41622] [ruby-trunk - Bug #5681][Open] " Eric Hodel
  2011-12-13  2:04 ` [ruby-core:41623] [ruby-trunk - Bug #5681][Closed] " Eric Hodel
  3 siblings, 0 replies; 7+ messages in thread
From: Luis Lavena @ 2011-12-04  2:34 UTC (permalink / raw
  To: ruby-core


Issue #5681 has been updated by Luis Lavena.

Status changed from Open to Closed
% Done changed from 0 to 100

Nobu fixed this but Redmine didn't close it.
----------------------------------------
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: Closed
Priority: Normal
Assignee: Nobuyoshi Nakada
Category: build
Target version: 
ruby -v: -


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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [ruby-core:41622] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:06 [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW Luis Lavena
  2011-11-28 15:15 ` [ruby-core:41373] " KOSAKI Motohiro
  2011-12-04  2:34 ` [ruby-core:41469] [ruby-trunk - Bug #5681][Closed] " Luis Lavena
@ 2011-12-13  1:58 ` Eric Hodel
  2011-12-13  2:04 ` [ruby-core:41623] [ruby-trunk - Bug #5681][Closed] " Eric Hodel
  3 siblings, 0 replies; 7+ messages in thread
From: Eric Hodel @ 2011-12-13  1:58 UTC (permalink / raw
  To: ruby-core


Issue #5681 has been updated by Eric Hodel.

Status changed from Closed to Open

=begin
r33919 broke the socket extension on OS X:

  have_func: checking for inet_ntop(0, (const void *)0, (char *)0, 0)... -------------------- yes
  
  "clang -o conftest -I../../.ext/include/x86_64-darwin11.2.0 -I../.././include -I../.././ext/socket -I../.. -I../../. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT    -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -pipe conftest.c  -L. -L../.. -L. -fstack-protector -L/usr/local/lib     -lruby-static  -lpthread -ldl -lobjc "
  conftest.c:6:15: warning: implicit declaration of function 'inet_ntop' is invalid in C99 [-Wimplicit-function-declaration]
  int t(void) { inet_ntop(0, (const void *)0, (char *)0, 0); return 0; }
                ^
  1 warning generated.
  checked program was:
  /* begin */
  1: #include "ruby.h"
  2: 
  3: /*top*/
  4: int main(void) {return 0;}
  5: extern int t(void);
  6: int t(void) { inet_ntop(0, (const void *)0, (char *)0, 0); return 0; }

This patch to ext/socket/extconf.rb fixes it:

  -have_func('inet_ntop(0, (const void *)0, (char *)0, 0)') or
  +have_func('inet_ntop(0, (const void *)0, (char *)0, 0)', 'arpa/inet.h') or


=end

----------------------------------------
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: -


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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [ruby-core:41623] [ruby-trunk - Bug #5681][Closed] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW
  2011-11-28 15:06 [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW Luis Lavena
                   ` (2 preceding siblings ...)
  2011-12-13  1:58 ` [ruby-core:41622] [ruby-trunk - Bug #5681][Open] " Eric Hodel
@ 2011-12-13  2:04 ` Eric Hodel
  3 siblings, 0 replies; 7+ messages in thread
From: Eric Hodel @ 2011-12-13  2:04 UTC (permalink / raw
  To: ruby-core


Issue #5681 has been updated by Eric Hodel.

Status changed from Open to Closed

Oops, disregard, I had dirty files.
----------------------------------------
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: Closed
Priority: Normal
Assignee: Nobuyoshi Nakada
Category: build
Target version: 
ruby -v: -


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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-12-13  2:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-28 15:06 [ruby-core:41370] [ruby-trunk - Bug #5681][Open] Conflcting types for rb_w32_inet_ntop caused by duplicate definition under MinGW Luis Lavena
2011-11-28 15:15 ` [ruby-core:41373] " KOSAKI Motohiro
2011-11-28 15:21   ` [ruby-core:41375] " Luis Lavena
2011-11-28 16:13     ` [ruby-core:41377] " U.Nakamura
2011-12-04  2:34 ` [ruby-core:41469] [ruby-trunk - Bug #5681][Closed] " Luis Lavena
2011-12-13  1:58 ` [ruby-core:41622] [ruby-trunk - Bug #5681][Open] " Eric Hodel
2011-12-13  2:04 ` [ruby-core:41623] [ruby-trunk - Bug #5681][Closed] " Eric Hodel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).