* [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).