2015-07-20 64 views
0

我的Solaris系統具有LD的兩個版本安裝GCC使用錯誤的連接

第一個屬於solaris的工作室:

$ /usr/ccs/bin/ld -V 
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1514 

而另外一個與gcc

$ ld -v 
GNU ld (GNU Binutils) 2.24 

我試着使用gcc和ld

$ which gcc 
/usr/bin/gcc 
/usr/bin/gcc -> /opt/csw/bin/gcc 

$ which ld 
/usr/bin/ld 
/usr/bin/ld -> /opt/csw/gnu/ld 

但問它使用GCC程序時,確定使用Solaris Studio的鏈接:

$ gcc -print-prog-name=ld 
/usr/ccs/bin/ld 

問題:我怎樣才能讓GCC使用連接器上的/ opt/CSW/GNU/LD?

+0

我猜測錯誤的'ld'首先出現在PATH中。 –

+0

當嘗試運行未指定路徑的可執行文件時,shell也是如此。什麼'哪個ld'返回? –

回答

2

gcc默認編譯爲使用Solaris鏈接器。您可以使用LD_ALTEXEC環境變量覆蓋此設置:

export LD_ALTEXEC=/opt/csw/gnu/ld