Problem #1 -- proc block knocks:
ruby_debug $ ruby extconf.rb
checking for rb_method_entry_t.called_id in method.h... no
checking for rb_control_frame_t.method_id in method.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason ...
[reason follows here:]
extconf.rb:16:in `block in <main>': break from proc-closure (LocalJumpError)
from /home/ericp/opt/ruby-1.9-3-p0/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:18:in
`call'
from /home/ericp/opt/ruby-1.9-3-p0/lib/ruby/gems/1.9.1/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:18:in
`create_makefile_with_core'
from extconf.rb:32:in `<main>'
ruby_debug $
I haven't checked with Ruby 1.9.2, but 1.9.3 doesn't like multiple break stmts in a top level Proc block (the one assigned
to hdrs)
Problem #2 -- why are those tests in extconf.rb failing anyway?
Look back at this:
checking for rb_method_entry_t.called_id in method.h... no
In method.h struct rb_method_entry_struct contains a "called_id" field, and is typedef'ed to rb_method_entry_t.
Maybe have_struct_member can't deal with typedefs.
Problem #3 -- I manually checked all those conditions, verified them, and ran extconf.rb. Running Make generates the
following error messages:
ruby_debug $ make
compiling ruby_debug.c
ruby_debug.c: In function ‘create_exception_catchall’:
ruby_debug.c:512: error: ‘struct rb_iseq_struct’ has no member named ‘line_info_table’
ruby_debug.c:512: error: ‘debug_context_t’ has no member named ‘catch_info_entry’
ruby_debug.c:513: error: ‘struct rb_iseq_struct’ has no member named ‘line_info_size’
ruby_debug.c:524: error: ‘debug_context_t’ has no member named ‘catch_info_entry’
ruby_debug.c:525: error: ‘debug_context_t’ has no member named ‘catch_info_entry’
ruby_debug.c: In function ‘find_prev_line_start’:
ruby_debug.c:780: warning: comparison between signed and unsigned
ruby_debug.c: In function ‘context_jump’:
ruby_debug.c:2308: warning: comparison between signed and unsigned
ruby_debug.c:2316: error: ‘rb_iseq_t’ has no member named ‘line_info_size’
ruby_debug.c:2318: error: ‘rb_iseq_t’ has no member named ‘line_info_table’
ruby_debug.c:2329: error: ‘rb_iseq_t’ has no member named ‘line_info_table’
make: *** [ruby_debug.o] Error 1
- 30 - |