Beware prelink and compiling ruby from source


#1

All,

Putting this in the ruby-talk ML just to have it searchable in case
others
run into this problem.

On some redhat based distros, if you compile ruby 1.9.1 from source and
install it as /usr/bin/ruby and have the “prelink” rpm installed, the
ruby
binary can become corrupted by prelink. When you try to run the
interpreter
after prelink has run against it, you get a c stack trace with this
error
message:

ruby: [BUG] iseq_compile_each: unknown node: NODE_METHOD

The solution is to either uninstall the prelink package or add the
following
line to /etc/prelink.conf

-b /usr/bin/ruby

This tells prelink to not touch the ruby interpreter.

This has been killing us at work for the last couple of days. We are
running CentOS and compiling ruby 1.9.1 from source.

Saludos,
Doug Seifert