17

我刚刚升级到 osx mavericks,我想安装 ruby​​ 2.0,但我遇到了configure: error: cannot run C compiled programs.错误。

我使用更新 rvm,rvm get stable然后键入rvm install 2.0.0并收到一个错误,将我定向到日志文件。日志文件包含:

configure: WARNING: unrecognized options: --without-tcl, --without-tk
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/Users/mattroberts/.rvm/src/ruby-2.0.0-p247':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

因此,我尝试列出我拥有的版本。它告诉我我有1.9.3-p392,所以我卸载了那个并重新安装以查看它是否有效 - 同样的错误。

我需要重新安装/更新 xcode,还是有其他解决方案?

谢谢!

4

7 回答 7

54

如果你在升级到 Mavericks 后还没有升级 Xcode,你应该这样做 之后,打开命令提示符并输入:
xcode-select --install

这将安装已被 OSX 更新删除的 xcode 命令工具。之后它应该可以正常工作。

于 2013-10-26T23:44:34.500 回答
29

建议的解决方案没有解决我的问题(最新版本的 XCode,安装了命令行工具)。我用过rvm install ruby-1.9.3 --with-gcc=clang,效果很好。

我以为 rvm 默认使用 clang for OSX。不确定我是否记得错误或发生了什么变化/这不再是最好的选择。尽管如此,它使安装对我有用。

在 Edu 发表评论后,他引用的github rvm 问题页面警告:

@marksands 请确保你知道你在做什么,用 clang 编译的 ruby​​ 1.9.3 不是“安全的”,它可能会出现段错误,线程相关问题是可以预料的,考虑重新安装 ruby​​ --with-gcc=gcc42 或者让 rvm安装 gcc 4.6,只有 ruby​​ 2.0.0 完全兼容 clang

这个问题指出了 Mavericks 上 gcc46 的问题:

有问题的 gem 使用不同的语言 - 不是 C/C++,它使用 Objective-C - 所以这不是编译器的错误,您可以构建支持 Objective-C 的 gcc-4.6 - 它只是默认情况下没有完成。

您现在有两个选择,都从 uninstallig gcc-4.6 开始,然后:

• 安装apple-gcc42

• 使用--enable-objc 安装gcc-4.6

于 2013-11-21T19:53:37.717 回答
8

这应该是固定的,运行:

rvm get head
rvm remove 1.9.3
rvm install 1.9.3

不要使用额外的标志

于 2013-10-25T21:58:56.153 回答
3

最终对我有用的是安装 XCode然后 RUNNING Xcode然后尝试重新安装。

于 2013-12-14T13:56:33.767 回答
1

跑步

rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')

更正了我在 Mavericks 中的编译器问题

于 2013-12-18T15:50:30.997 回答
1

解决方案:

unset SDKROOT

这对我有用。我希望它也适合你。

我尝试重新安装 xcode 以及 xcode 开发人员工具。没用。同样的错误。

尝试运行env -i bash —noprofile —norc以查看您的环境变量是否导致问题进一步调查。

于 2017-03-06T19:38:45.770 回答
0

遇到了同样的问题(在 10.8.5 上,都是最新的)。Ruby 2.0.0 安装良好,但不是 1.9.3。这个解决方案对我有用。

cd 进入 ruby​​ 路径(在 config.log 中找到),然后发出.configure(带有所有选项,在 config.log 中找到)

make
make install

然后:

rvm use 1.9.3 --create
于 2013-11-29T21:11:22.570 回答