由于我在Mac上安装了
gcc-49,我无法让Homebrew再找到C编译器.它始终失败,并显示错误消息:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
运行“brew upgrade -v”吐出这个:
... ==> ENV HOMEBREW_CC: llvm-gcc HOMEBREW_CXX: llvm-g++ ...
我不知道为什么Homebrew想要使用这些编译器.为什么它不能像其他一样使用普通的CC/C++XX环境变量?
我已经发现,通过直接编辑公式,如Using Homebrew with alternate GCC中所述,我可以将HOMEBREW_CXX更改为使用/usr/local / bin / g,这样可以再次编译需要C工作的公式.
但是我不想在剩下的时间里手工编辑每一个公式.如何永久更改此HOMEBREW_CXX环境变量?我尝试在我的.bash_profile中设置它们并在控制台中运行“export HOMEBREW_CXX = …”,这些都不起作用,只是直接编辑公式.
有没有人有想法?
解决方法
可以肯定,这是一个穷人的解决方案,但是这样做:在.bashrc或.bash_profile中添加一个别名:
alias brew='HOMEBREW_CC=gcc-4.8 HOMEBREW_CXX=g++-4.8 brew'
现在,无论何时使用brew,它都将使用您想要的编译器.检查它是否有效:
brew --env HOMEBREW_CC: gcc-4.8 HOMEBREW_CXX: g++-4.8 ...
HTH