2010-01-20 68 views
4

我试图使用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安装的一部分)

回答

8

现在,我终于明白了。
我确实从ruby​​osx安装了红宝石1.8.7,似乎有一些破坏的库,rvm用于编译它的红宝石。

解决方案是从/usr/local中删除rubyosx红宝石。

较不激烈的解决方案是在使用rvm进行编译时只需重命名/usr/local文件夹。之后,您可以将其命名并按预期工作。

很高兴现在有效。

+0

如果没有您对.bash_profile所做的更改,也有同样的问题......感谢帖子! – codewise 2010-02-10 02:22:33

+0

感谢这篇文章。移动/ usr /本地的方式为我工作。 – devth 2011-04-30 15:59:46

0

要设置ARCHFLAGS以两种不同的架构。为什么?尝试只用-arch -x86_64(据我所知,这是雪豹的默认设置)。

+0

感谢您的提示。在某处复制了这一行,但实际上i386似乎没有必要。 虽然没有解决问题。 – Jonas 2010-01-20 15:03:34

+0

好的。对我来说,它在雪豹上“起作用”。接下来要确保你拥有所有最新和最好的xCode http://developer.apple.com/tools/xcode/ – hgmnz 2010-01-20 18:29:29

+0

已经做到了。没有运气。 – Jonas 2010-01-21 07:24:59

相关问题