获取libxml2.2.dylib文件错误“文件不是必需的体系结构”
问题描述:
我试图使用rvm在运行Snow Leopard的Mac上安装Ruby 1.9.2。获取libxml2.2.dylib文件错误“文件不是必需的体系结构”
我.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安装了红宝石1.8.7,似乎有一些破坏的库,rvm用于编译它的红宝石。
解决方案是从/usr/local
中删除rubyosx红宝石。
较不激烈的解决方案是在使用rvm进行编译时只需重命名/usr/local
文件夹。之后,您可以将其命名并按预期工作。
很高兴现在有效。
如果没有您对.bash_profile所做的更改,也有同样的问题......感谢帖子! – codewise 2010-02-10 02:22:33
感谢这篇文章。移动/ usr /本地的方式为我工作。 – devth 2011-04-30 15:59:46