4

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

4

2 回答 2

8

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

解决方案是从/usr/local.

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

很高兴它现在有效。

于 2010-01-22T08:17:56.490 回答
0

您正在将 ARCHFLAGS 设置为两种不同的架构。为什么?仅尝试-arch -x86_64(据我所知,这是雪豹的默认设置)。

于 2010-01-20T13:04:50.277 回答