【发布时间】:2012-10-14 19:06:38
【问题描述】:
在切换到 Lion(并从头开始重建我的系统)后,我决定在此过程中也尝试一下 rbenv。不幸的是,自从切换以来,我一直无法编译 Ruby 1.9.3,现在我仍然使用我在 Snow Leopard 上编译的 Ruby。我希望有人能发现继续躲避我的任何东西。以下是我一直在进行的假设:
- Ruby 1.9.3-p125 及更高版本支持 clang
- XCode 4.3.x introduced some instability
- ruby-build 项目的几个问题(例如,#87、#137)表明它现在可以正确处理 1.9.3 安装
到目前为止我已经尝试过:
-
手动构建
./configure && make && make install -
让
ruby-build做#1。对我来说。rbenv install -v 1.9.3-p286 -
使用非 LLVM 编译器进行编译(通过安装
apple-gcc42Homebrew 包)CC=/usr/local/bin/gcc-4.2 rbenv install -v 1.9.3-p286 -
尝试使用
shared选项,因为它适用于 Snow LeopardCONFIGURE_OPTS="--with-shared" rbenv install -v 1.9.3-p286
每次构建失败时,都会以同样的方式失败:通过不存在的测试和失败,Array 相关的测试:
configuring win32ole
Failed to configure win32ole. It will not be installed.
configuring zlib
/bin/sh: line 0: cd: ext/-test-/array/resize: No such file or directory
/bin/sh: line 0: cd: ext/-test-/add_suffix: No such file or directory
make[1]: *** [ext/-test-/array/resize/all] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [ext/-test-/add_suffix/all] Error 1
make: *** [build-ext] Error 2
(rbenv log 全文)
我使用的是 Xcode 命令行工具的最新版本(2012 年 10 月),但不是 Xcode 本身。相关组件版本为:
gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
cc -v
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
除了我上面的尝试之外,我还搜索了网络无济于事。
【问题讨论】:
-
如果您安装了自制软件,我建议您运行
brew doctor并尝试修复它所显示的内容。实际上与您的问题无关,但它可以提供帮助。 -
zsh... 我已经配置了我的 CDPATH。