获取libxml2.2.dylib的错误"文件不是必需的体系结构"

Jon*_*nas 4 ruby macos rvm ruby-1.9

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

我的.bash_profile包含

ARCHFLAGS="-arch x86_64"
Run Code Online (Sandbox Code Playgroud)

要安装ruby,我运行:

rvm install 1.9.2 -C --enable-shared
Run Code Online (Sandbox Code Playgroud)

编译时出错.这是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
Run Code Online (Sandbox Code Playgroud)

编辑:

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

rvm install 1.9.2 -C --enable-shared,--with-readline-dir=/usr/local 
Run Code Online (Sandbox Code Playgroud)

这导致了与以前相同的错误.

rcltklib.bundle文件的位置是:

/usr/local/lib/ruby/1.8/i686-darwin9.7.0/tcltklib.bundle  
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*nas 8

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

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

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

很高兴现在有效.