From: Sylvain Joyeux Date: 2009-01-08T19:55:46+09:00 Subject: [ruby-core:21217] Re: [PATCH] Update to MBARI patches on 1.8.7-p72 > ./lib/fileutils.rb:1509:in `[]': method `hash' called on terminated > object (0x2a9559d408) (NotImplementedError) > from ./lib/fileutils.rb:1509:in `collect_method' > from ./lib/fileutils.rb:1509:in `select' > from ./lib/fileutils.rb:1509:in `collect_method' > from ./lib/fileutils.rb:1524 > from ./mkconfig.rb:11:in `require' > from ./mkconfig.rb:11 > make: *** [.rbconfig.time] Error 1 It is not that it does not compile, but that the patched interpreter is broken (this kind of error is what you get when you mess the GC process) Try the following change: in rubysig.h, replace __builtin_frame_address by alloca() in the following four lines: # else /* slower, but should work everywhere gcc does */ # define _set_sp(sp) VALUE *sp = _get_tos(); NOINLINE(static VALUE *_get_tos(void)) {return __builtin_frame_address(0);} # endif #else /* slowest, but should work everwhere */ so that they look like that: # else /* slower, but should work everywhere gcc does */ # define _set_sp(sp) VALUE *sp = _get_tos(); NOINLINE(static VALUE *_get_tos(void)) {return alloca(0);} # endif #else /* slowest, but should work everwhere */ My guess is that __builtin_frame_address does not work as expected on your GCC version (it works fine on an amd64 with gcc 4.3) Sylvain