2014-09-28 34 views
0

我按照說明與MacPorts安裝GCC 4.7。
http://www.ficksworkshop.com/blog/14-coding/65-installing-gcc-on-mac海灣合作委員會與MacPorts(選擇不改變正確的鏈接)

一切似乎工作,但'選擇集'沒有更新權利(AFAIK)鏈接。

$ gcc -version 
i686-apple-darwin11-llvm-gcc-4.2: no input files 

$ which gcc 
/usr/bin/gcc 

$ ls -l /usr/bin/gcc 
lrwxr-xr-x 1 root wheel 12 Jul 14 2013 /usr/bin/gcc -> llvm-gcc-4.2 

根據指南,Macports安裝到/ opt/local/bin。選擇正在更改該鏈接:

$ ls -l /opt/local/bin/gcc 
lrwxr-xr-x 1 root admin 25 Sep 28 12:20 /opt/local/bin/gcc -> /opt/local/bin/gcc-mp-4.7 

但是make正在調用/ usr/bin/gcc。 我可以手動更改符號鏈接還是有更優雅的解決方案?

回答

2

您需要將/opt/local/bin放在PATH之前,而不是/usr/bin。我記得,MacPorts的安裝程序包會修改你的〜/ .profile或〜/ .bash_profile來爲你做這件事。但是,這隻會影響安裝MacPorts後啓動的外殼。

所以,首先要嘗試的是簡單地打開一個新的shell,看看事情是否按照你期望的那樣工作。

+0

另外檢查make是不是直接調用/ usr/bin/gcc而不是依靠PATH – Mark 2014-09-28 21:20:48

+0

MacPorts在〜/ .profile中給出了一些很好的評論。 #在2014-09-18_at_15上添加#MacPorts安裝程序:32:54:添加適用於MacPorts的適當PATH變量。 export PATH =「/ opt/local/bin:/ opt/local/sbin:$ PATH」 #完成適配您的PATH環境變量以用於MacPorts。 但是,這是'echo $ PATH'的輸出: /usr/bin:/ bin:/ usr/sbin:/ sbin:/ usr/local/bin:/ opt/X11/bin:/ opt/local/bin/ 因此,它仍然首先採用/ usr/bin/gcc。 – 2014-09-28 23:04:31

+0

馬克 如何確認make是使用PATH而不是直接調用它? – 2014-09-28 23:05:52

相關問題