2016-06-12 112 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'。 –