ruby - 获取 libxml2.2.dylib "file is not of required architecture"错误

标签 ruby macos ruby-1.9 rvm

我正在尝试使用 rvm 在运行 Snow Leopard 的 Mac 上安装 Ruby 1.9.2。

我的 .bash_profile 包含

ARCHFLAGS="-arch x86_64"

要安装 ruby​​,我运行:

rvm install 1.9.2 -C --enable-shared

编译时出现错误。这是 make.error.log:

[2010-01-20 10:03:00] make 
ld: in /usr/local/lib/libxml2.2.dylib, file is not of required architecture
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-darwin10.2.0/tcltklib.bundle] Error 1
make: *** [mkmain.sh] Error 1

编辑:

我从源代码安装了 readline 并尝试这样安装:

rvm install 1.9.2 -C --enable-shared,--with-readline-dir=/usr/local 

这导致了与之前相同的错误。

rcltklib.bundle 文件的位置是:

/usr/local/lib/ruby/1.8/i686-darwin9.7.0/tcltklib.bundle  

(我认为这个文件是 Ruby OSX 安装的一部分)

最佳答案

现在,我终于明白了。
我确实从 rubyosx 安装了 ruby​​ 1.8.7 并且似乎有一些损坏的库​​,rvm 用来编译它的 rubies。

解决方案是从 /usr/local 中删除 ruby​​osx ruby​​。

不太激进的解决方案是在使用 rvm 编译期间重命名 /usr/local 文件夹。之后您可以重新命名它,它会按预期工作。

很高兴它现在可以工作了。

关于ruby - 获取 libxml2.2.dylib "file is not of required architecture"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100187/

相关文章:

ruby - 定义自定义数组/哈希方法时出错

ruby - 如何使用 JRuby 从 exploded jar 运行 logstash

jquery - 显示隐藏表,点击

ruby - 为什么这段代码适用于 ruby​​ 1.8 而不是 ruby​​ 1.9?

ruby - rails 中的模型命名空间问题

macos - Iterm2路径颜色设置

ruby-on-rails - Rails 事件记录查找 nil 的位置

ruby - 比较数字及其字符串表示

c - char getenv(const char *name); 的参数是什么?

macos - 在MacOS上编译Irrlicht项目时出现“symbol(s) not found for architecture x86_64”错误