在CentOS操作系统中如果从源代码编译并安装Ruby1.9并且安装在/usr/bin/ruby或者/bin/ruby,在过了一段时间之后Ruby会突然不可用并打印下面的错误信息:
ruby: [BUG] iseq_compile_each: unknown node: NODE_METHOD
这个问题是由于prelink修改了ruby程序导致不能正确载入共享库程序。
关于具体prelink的功能参看以下链接:
http://www.eefocus.com/article/09-04/71629s.html
解决方法:
1 在prelink配置文件/etc/prelink.conf中加入
-b /usr/bin/ruby
这样prelink就不会修改ruby程序
2 删除prelink包
ruby: [BUG] iseq_compile_each: unknown node: NODE_METHOD
这个问题是由于prelink修改了ruby程序导致不能正确载入共享库程序。
关于具体prelink的功能参看以下链接:
http://www.eefocus.com/article/09-04/71629s.html
解决方法:
1 在prelink配置文件/etc/prelink.conf中加入
-b /usr/bin/ruby
这样prelink就不会修改ruby程序
2 删除prelink包