Bug #998
Cross compile 1.9.1 snapshot fails building socket
| Status: | Closed | Start date: | 01/10/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % 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
* ext/socket/mkconstants.rb (c_str): get rid of a 1.9 feature for
cross compile. [ruby-core:21243]
History
Updated by Nobuyoshi Nakada about 3 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r21425.
Updated by Luis Lavena about 3 years ago
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.
Updated by Luis Lavena about 3 years ago
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.