【发布时间】:2010-09-22 16:39:50
【问题描述】:
我通过 gem install 成功安装了 yajl-ruby rubygem,但尝试使用它会引发此错误:
/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle: dlopen(/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle, 9): no suitable image found. Did find: (LoadError)
/usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle: mach-o, but wrong architecture - /usr/local/lib/ruby/gems/1.8/gems/yajl-ruby-0.7.7/lib/yajl_ext.bundle
我猜这是某个地方的架构不匹配,但无法弄清楚为什么以及如何解决它。这台机器有一个 32 位内核,我通过 hivelogic instructions 将 ruby 安装到 /usr/local/src。
在 ruby 二进制文件上运行 lipo -info 给出:“fat 文件中的架构:/usr/bin/ruby 是:x86_64 i386 ppc7400”,我尝试强制 yajl-ruby 通过 32 位/64 位安装通过执行 "sudo env ARCHFLAGS="-arch x86_64" gem install yajl-ruby" 和 "ARCHFLAGS="-arch i386" 来构建架构。
我想在联系作者之前先询问一下 SO,以确保这不是我的设置问题。
【问题讨论】: