[MacRuby] #1486: conftest crashes that is generated by check_sizeof of mkmf

MacRuby ruby-noreply at macosforge.org
Sat Mar 24 07:12:44 PDT 2012


#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/>



More information about the macruby-tickets mailing list