Bug #998 [ruby-core:21243]

Cross compile 1.9.1 snapshot fails building socket

Added by Luis Lavena 175 days ago. Updated 174 days ago.

Status :Closed Start :01/10/2009
Priority :Normal Due date :
Assigned to :- % Done :

100%

Category :core
Target version :1.9.1 RC2
ruby -v :


Description

Downloaded latest snapshot (09 January 2009) for 1.9 and during cross compilation, found a new error:

<pre>
<code>
compiling socket
make[1]: Entering directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-snapshot/ext/socket'
generating constants.h
/home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:27:in `gsub': can't convert Hash into String (TypeError)
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:27:in `c_str'
        from (ERB):4:in `gen_int_to_name_hash'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:136:in `reverse_each_name_with_prefix_optional'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:72:in `reverse_each_name'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:70:in `reverse_each'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:70:in `reverse_each_name'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:135:in `reverse_each_name_with_prefix_optional'
        from (ERB):2:in `gen_int_to_name_hash'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:179:in `def_intern'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-snapshot/ext/socket/mkconstants.rb:184
make[1]: *** [constants.h] Error 1
make[1]: Leaving directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-snapshot/ext/socket'
make: *** [exts] Error 1
</code>
</pre>

It's using 1.8.6-p114 on x86-linux for cross compilation.

Associated revisions

Revision 21425
Added by nobu 174 days ago

  • ext/socket/mkconstants.rb (c_str): get rid of a 1.9 feature for cross compile. [ruby-core:21243]

History

01/11/2009 09:57 AM - Nobuyoshi Nakada

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
Applied in changeset r21425.

01/12/2009 11:45 AM - Luis Lavena

Thank you Mr. Nakada, but seems the problem has moved forward:

<pre><code>
compiling socket
make[1]: Entering directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-trunk/ext/socket'
generating constants.h
(ERB):4:in `gen_int_to_name_hash': undefined method `bytesize' for "AF_LOCAL":String (NoMethodError)
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:165:in `reverse_each_name_with_prefix_optional'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:97:in `reverse_each_name'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:95:in `reverse_each'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:95:in `reverse_each_name'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:164:in `reverse_each_name_with_prefix_optional'
        from (ERB):2:in `gen_int_to_name_hash'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:208:in `def_intern'
        from /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/mkconstants.rb:213
make[1]: *** [constants.h] Error 1
make[1]: Leaving directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-trunk/ext/socket'
make: *** [exts] Error 1
</code></pre>

I'm using latest trunk r21438.


01/14/2009 11:15 AM - Luis Lavena

I'm updating this, since seems didn't complete fixing:

<pre><code>
compiling socket
make[1]: Entering directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-trunk/ext/socket'
generating constants.h
i586-mingw32msvc-gcc -I. -I../../.ext/include/i386-mingw32 -I/home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/include -I/home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket -DRUBY_EXTCONF_H=\"extconf.h\" -I.    -O2 -g -Wall -Wno-parentheses   -o socket.o -c /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/socket.c
i586-mingw32msvc-gcc -I. -I../../.ext/include/i386-mingw32 -I/home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/include -I/home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket -DRUBY_EXTCONF_H=\"extconf.h\" -I.    -O2 -g -Wall -Wno-parentheses   -o getaddrinfo.o -c /home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/getaddrinfo.c
/home/luislavena/.rake-compiler/sources/ruby-1.9.1-trunk/ext/socket/getaddrinfo.c:204: error: redefinition of 'gai_strerrorA'
/usr/lib/gcc/i586-mingw32msvc/3.4.5/../../../../i586-mingw32msvc/include/ws2tcpip.h:309: error: previous definition of 'gai_strerrorA' was here
make[1]: *** [getaddrinfo.o] Error 1
make[1]: Leaving directory `/home/luislavena/.rake-compiler/builds/ruby-1.9.1-trunk/ext/socket'
make: *** [exts] Error 1
</code></pre>

Subversion revision used: 

Last Changed Author: akr
Last Changed Rev: 21497
Last Changed Date: 2009-01-13 11:57:53 -0200 (Tue, 13 Jan 2009)

------------------------------------------------------------------------
r21497 | akr | 2009-01-13 11:57:53 -0200 (Tue, 13 Jan 2009) | 6 lines

* ext/socket/addrinfo.h (AI_NUMERICSERV): defined.
  (AI_MASK): add AI_NUMERICSERV.

* ext/socket/getaddrinfo.c (getaddrinfo): support AI_NUMERICSERV.

Also available in: Atom PDF