1

我在 Lion,我已经安装了 xcode 4.1,rvm 版本是 1.6.31 头

这是我所做的:

$ rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

iconv 目录指向 Brew 安装。

这是输出

这是make.log

make.log 底部的错误看起来像是在尝试使用本机 libiconv 而不是我指定的:

ld: in /Developer/SDKs/MacOSX10.7.sdk/usr/local/lib/libiconv.2.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64

有任何想法吗?

4

4 回答 4

2
  • 删除 RVM,从而在以后进行更清洁的安装:

    $ RVM 内爆

  • 删除 XCode:

    $ sudo /Developer/Library/uninstall-devtools –mode=all

XCode 至少在 4.2 中被删除,所有对 gcc 的引用都链接到 llvm-gcc(Apple 的)自己的 gcc 分支。llvm 不会编译 ruby​​。

(以后可以随时从 AppStore 重新安装)

这将只安装基本的 GCC 编译器。如果您决定重新安装它,它可以安全地被 XCode 覆盖,或者使用与删除 XCode 相同的命令简单地删除它。

这会将几个文件安装到 homebrew 的主目录“/usr/local/cellar”

  • 备份/usr/local/lib/libiconv.2.dylib,并将/usr/local/cellar/libiconv/1.14/lib/libiconv.2.dylib复制到/usr/local/lib中

此时,您应该已准备好使用 RVM 安装 ruby​​ 1.9.2:

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.14.1

(RVM 实际上不支持 --with-iconv-dir,如果您检查 config.log 文件,但它可能有一天......在这种情况下,复制 libiconv 将是不必要的)

现在去安装 gems 和 rails 以及任何你可能需要的东西。

于 2011-10-27T14:10:03.690 回答
2

从 10.5 升级到 10.6 时,我必须清除所有已安装的源构建库并重新开始以完全解决 32 位到 64 位的转换问题。你可能会发现你需要强制重建所有的 brew 包。

在 MacPorts 下,您只需删除/opt目录,抢救可能首先存在的所有数据库文件,然后重新安装所有内容。我确信 Brew 也有类似的程序。

也有一种方法可以更改库加载路径以设置优先级,但 MacPorts 似乎确实为您处理了这个问题。otool可以帮助诊断正在加载哪些库:

otool -L `which ruby`
于 2011-07-27T21:42:35.170 回答
0

我发现这非常困难并且禁止采用 ruby​​ 1.9。当然,红宝石家伙可以让这个安装变得简单吗?

于 2011-11-14T01:01:27.047 回答
0

Ruby 不会与 llvm 一起安装,并且 gcc 现在已符号链接到 llvm。简单的解决方法是使用

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

强制它使用真正的 gcc 构建。

于 2011-07-28T03:18:47.047 回答