2013-10-25 131 views
17

我剛升級到osx小牛,我想安裝ruby 2.0,但我得到configure: error: cannot run C compiled programs.錯誤。在特拉維夫安裝任何版本的RVM與RVM

我更新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,還是有另一種解決方案?

謝謝!

+0

你試試這個:http://stackoverflow.com/questions/8813889/rvm-ruby-installation-errors-mac/10593275#10593275 – knoight

回答

52

如果您還沒有升級到小牛後的Xcode升級,你應該這樣做 之後,打開命令提示符並鍵入:
xcode-select --install

這將安裝已被OSX更新刪除的xcode命令工具。 之後,它應該工作正常。

+2

耶,更新xcode做了我的詭計 - 我didn '不需要'xcode-select --install'雖然 –

+2

奇怪的是,我在XCode 5上,我仍然需要升級到5.0.2,但仍然需要運行上述命令。 – Hengjie

+2

這對我來說是一個「不可用」的錯誤。萬一發生在其他人身上:http://apple.stackexchange.com/questions/110463/xcode-select-install-not-available-on-update-server – BenB

8

這應該是固定的,運行:

rvm get head 
rvm remove 1.9.3 
rvm install 1.9.3 

不使用額外的標誌

+1

我得到我的configure.log以下消息: [ 2013-10-31 11:59:14] ./configure ... 檢查C編譯器是否工作... no configure:error:in'/Users/Ann/.rvm/src/ruby-1.9。 3-p448': configure:error:C編譯器無法創建可執行文件 查看'config.log'以獲取更多詳細信息 –

+0

'/Users/Ann/.rvm/src/ruby-1.9.3-p448/config中的內容。日誌' – mpapis

+0

我得到完全相同的錯誤。這裏是config.log:https://gist.github.com/jaimeohm/7377415 – jaime

28

建議的解決方案沒有解決我的問題(安裝了最新版本的XCode,命令行工具)。我用rvm install ruby-1.9.3 --with-gcc=clang和那工作。

我以爲rvm默認使用clang for OSX。不知道我是否記得錯誤或改變了/這不再是最好的事情。儘管如此,它爲我的安裝工作。

埃杜的評論後,他引用的github rvm issues page警告:

@marksands please be sure you know what you are duing, ruby 1.9.3 compiled with clang is not "safe", it can segfault, thread related issues to be expected, consider reinstalling ruby --with-gcc=gcc42 or just let rvm install gcc 4.6, only ruby 2.0.0 is fully compatible with clang

This issue指出問題與gcc46對小牛:

The gem in question uses different language - not C/C++, it uses Objective-C - so it's not the compiler fault, you can build gcc-4.6 with support for Objective-C - it's just not done by default.

You have two options now, both start with uninstallig gcc-4.6 and then:

• Install apple-gcc42

• Install gcc-4.6 with --enable-objc

+0

也在小牛隊工作:rvm install ruby​​-1.8.7-p302 --with-gcc = clang – kitschmaster

+1

用clang安裝它不安全https://github.com/wayneeseguin/rvm/issues/2133 – Edu

+0

修改後的答案, – mmlac

0

跑進同樣的問題(在10.8.5,所有最新)。 Ruby 2.0.0安裝正常,但不是1.9.3。這個解決方案爲我工作。

光盤放入紅寶石路(中發現的config.log),然後 問題.configure(包括所有選項,如發現的config.log)

make 
make install 

然後:

rvm use 1.9.3 --create 
3

什麼結束了爲我工作是安裝XCode 然後運行Xcode然後嘗試重新安裝。

+0

+1如此瘋狂以至於它可能正常工作......而且確實如此!謝謝一堆! – kobaltz

+0

當您更新Xcode時,它希望您接受許可條款,無論如何,從prefs菜單中您必須安裝開發工具。 – danieldekay

1

運行

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

糾正了我的編譯器問題小牛

0

解決方法:

unset SDKROOT

這爲我工作。我希望它也適合你。

我試圖重新安裝xcode以及xcode開發人員工具。沒有工作。同樣的錯誤。

嘗試運行env -i bash —noprofile —norc以查看您的環境變量是否導致問題進一步調查。