2011-10-12 88 views
15

我在使用Xcode 4.2 GM(新MacBook)在Lion 10.7.1上使用RVM編譯Ruby 1.8.7後出現錯誤。BUG總線錯誤紅寶石1.8.7

它編譯罰款,但是當我嘗試安裝任何寶石,我得到如下:

gem install bundler 
/Users/me/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/timeout.rb:60: [BUG] Bus Error 
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin11.1.0] 

Abort trap: 6 

更新:最後,我希望能有4.2的Xcode安裝,RVM使用Ruby 1.8.7,1.9 .x已安裝並正常工作。

+1

[This seems related](http://jalada.co.uk/2011/07/24/lion-rvm-and-ruby-1-8-7-woes.html) - 試試他使用的修復方法?看起來像某種深層次的不兼容。 – millimoose

+0

該修復程序適用於我。 – kafuchau

回答

24

既然我已經通過幾個這些答案解析把事情用的XCode 4.2的工作,我想我應該把它放在一起:

  1. 安裝的Xcode 4。2
  2. 安裝從https://github.com/kennethreitz/osx-gcc-installer的GCC編譯器的獨立(它取代的Xcode)
  3. 添加export CC=gcc-4.2到你的〜/ .bash_profile中或同等學歷(別忘了重新加載)
  4. 運行rvm implode" then re-install rvmhttp://beginrescueend.com/

在這一點上,我能夠安裝ruby-1.8.7(和ruby-1.9.2),並且實際上可以安裝我的寶石。

+0

你還安裝了Xcode 4.2嗎?這適合安裝步驟? –

+2

Nate - 我在這些步驟之前安裝了Xcode 4.2。 –

+3

你救了我的命! – antpaw

2

Multiplearticles表明Ruby不喜歡使用LLVM進行編譯。臨時措施是徹底刪除RVM安裝 - 鏈接文章說明 - 然後用普通的GCC重新編譯Ruby。真正的修復必須來自Apple/LLVM或Ruby團隊。

3

因此,RVM(rvm implode)和重新安裝沒有任何區別。我最終安裝了Xcode 4.2,然後安裝了GCC編譯器,之後重寫了Xcode編譯器。

下面是搜索這些的步驟。

  1. 安裝的Xcode 4.2.x版

  2. https://github.com/kennethreitz/osx-gcc-installer

    注意安裝GCC編譯器獨立:Xcode的4.3測試版於近日發佈。我正在測試這是否解決了編譯問題。

+0

我有Xcode 4.3,仍然有這個問題。通過安裝這裏提到的osx-gcc-installer和'CC =/usr/bin/gcc-4.2 rvm重裝1.8.7-p352'來修復。 – Norto23

2

我修復由

  1. 安裝的Xcode 4.2.x版,
  2. 加入export CC=gcc到〜/ .bash_profile中,
  3. 重裝環境(source ~/.bash_profile),
  4. 執行rvm install 1.9.3
  5. 正在執行rvm ruby-1.9.3-rc1,
  6. 執行gem update --system最後
  7. 執行gem install bundler

的問題是在Xcode 4.2.x版的版本。如果您運行rvm get head,您將看到此消息「不要使用Xcode版本4.2.x.它目前無法構建幾個紅寶石和寶石......」。

我沒有ruby v1.8.7的解決方案。

我希望它有幫助。

+1

是的。我能夠得到1.9.2編譯好。 1.9.3需要'〜/ .bash_profile'或'〜/ .rvmrc'中的'export CC = gcc'。直到我崩潰了RVM,卸載了Xcode並安裝了GCC獨立編譯器之後,我才得以編譯1.8.7。看到我上面的解決方案 –

1

我需要在這臺機器上使用Xcode,所以獨立的gcc不會爲我做這件事。

根據其他海報,我在RVM更新的發行說明末尾提出了建議。

請注意,我並不需要刪除RVM。我成功地刪除了Xcode 4.2.1(完全),並重新安裝了Xcode 4.1,然後執行了CC=/usr/bin/gcc-4.2 rvm install 1.8.7的伎倆。在我的情況下,我把export CC="/usr/bin/gcc-4.2"放在我的個人資料中,以節省一些打字的時間,同時設置各種寶石。

這也適用於Ruby企業版(ree-1.8.7-2011.03),這也失敗了。

1

你可以下載在這裏找到獨立的GCC安裝說明:https://github.com/kennethreitz/osx-gcc-installer

這給你一個非基於LLVM的GCC安裝,無需在Xcode不必浪費時間。

然後,您可以使用命令

export CC=/usr/bin/gcc-4.2 

這可以讓你有X代碼OSX最新的目的,仍然有紅寶石幸福的gcc版本。