#1486: conftest crashes that is generated by check_sizeof of mkmf ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: minor | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ require 'mkmf' open("/tmp/confdefs.h", "w") {|f| f.puts "typedef struct {char x;} test1_t;" } size = check_sizeof("test1_t", "/tmp/confdefs.h") p size }}} {{{ $ macruby t.rb checking size of test1_t in /tmp/confdefs.h... /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:543:in `block': can't convert nil into Integer (TypeError) from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:317:in `block' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:254:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:310:in `xpopen' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:542:in `try_constant' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:1021:in `block' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:693:in `block' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:280:in `block' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:254:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:280:in `block' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:254:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:276:in `postpone' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:692:in `checking_for' from /Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/ruby/1.9.2/mkmf.rb:1013:in `check_sizeof' from /Users/watson/tmp/t.rb:6:in `<main>' $ ruby -v t.rb ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0] checking size of test1_t in /tmp/confdefs.h... 1 1 }}} If I run conftest on Terminal {{{ $ ./conftest objc[16635]: '/Library/Frameworks/MacRuby.framework/Versions/0.12/usr/lib/libmacruby.dylib' was compiled with -fobjc-gc-only, but the application does not support GC objc[16635]: *** GC capability of application and some libraries did not match zsh: illegal hardware instruction ./conftest }}} It seems that conftest is linked libmacruby.dylib when it is generated as executable file. So, I think to need '-fobjc-gc-only' flag for generating conftest. -- Ticket URL: <http://www.macruby.org/trac/ticket/1486> MacRuby <http://macruby.org/>