2016-06-12 114 views
0

我在Yosemite中安裝了XCode(版本7.2.1(7C1002)),並下載並安裝了命令行工具。當我嘗試檢查gcc版本,我得到:gcc -v分割錯誤:11

$ gcc -v 
Segmentation fault: 11 
$ 

的輸出:

$ type -a gcc 
gcc is /usr/local/bin/gcc 
gcc is /usr/bin/gcc 
$ 

據我所知,這應該意味着我都安裝了,所以我還是不明白爲什麼我無法檢查它的版本。因爲我需要gcc來處理其他應用程序,所以我想修復它...任何建議?我需要以某種方式鏈接它嗎?

+0

命令'type -a gcc'的結果是什麼? –

+0

嗨肯,輸出結果是: – Erica

+0

它沒有通過。編輯你的問題並把它放在那裏,而不是在評論中。 –

回答

0

你有一個錯誤的第三方版本的gcc(或者僞裝成gcc的其他編譯器)安裝在/ usr/local中。這可能是Homebrew放在那裏的東西,或者你自己安裝了這個gcc版本。

短期修復方法是修改環境變量PATH以使/ usr/bin位於/ usr/local/bin之前。或者,您可以始終指定gcc的完整路徑,例如/usr/bin/gcc -v

長期來看,您可能想要刪除已安裝到/ usr/local的損壞的gcc。你如何做到這一點取決於你最初如何安裝它。

+0

如你所想,我已經使用Homebrew安裝了gcc。是否有一個標準和安全的程序來刪除它? – Erica

+0

我自己並不使用自制軟件,但看起來這個命令會'brew卸載'。正如@JonathanLeffler在評論中指出的那樣,只會讓你在/ usr/bin中將Xcode的'clang'僞裝成'gcc'。所以,你可能想嘗試更新Homebrew及其所有已安裝的軟件包,然後重新安裝它的'gcc'。或者使用另一個系統(如MacPorts)安裝'gcc'。 –