2012-02-03 21 views
1

我目前正試圖在最新更新的Ubuntu 11.10上構建一個gcc 4.4。但是,在試圖引導時,構建編譯器總會失敗並出現一些問題。爲什麼我不能構建一個較低版本的編譯器

第一個crti.ocrtn.o找不到。我將它們鏈接到搜索路徑中的另一個目錄中,因此我可以獲得引導程序編譯器。但是現在它失敗的消息:

configure: error: C compiler cannot create executables

我嘗試了用中間編譯器上簡單的測試程序,而我得到的消息:

$ ./host-x86_64-unknown-linux-gnu/prev-gcc/xgcc test.c 
xgcc: error trying to exec 'cc1': execvp: File or directory not found 

因此,一些嚴重搞砸與我的中間編譯器的路徑似乎。當我在Ubuntu 11.04上做同樣的事情時,一切都很好。

我用下面的命令行配置:

./configure --prefix=/opt --program-suffix=44 

我也試過既是VPATH構建,以及一個以源碼編譯,但兩者有同樣的問題。在更新之前,我仍然擁有gcc44,它位於/opt之內,但它自更新以來已變得無法使用。

有沒有簡單的方法讓gcc 4.4在Ubuntu 11.10下工作?我不必是一個自建編譯器,如果我可以下載一個包並安裝它,那也可以。

+2

檢查你configure.log - 它或許應該給你更多的診斷... – 2012-02-03 14:32:54

+0

我沒看那裏......但感謝你的信息我在仔細又看了很多正確的config.log,我發現另一個'crt?.o'文件,在更新過程中似乎沒有正確鏈接。現在它似乎起作用了(至少是一見鍾情)。 – LiKao 2012-02-03 14:50:11

+0

另一個猜測:你可能會缺少libc6-dev(安裝它爲'#apt-get install libc6-dev') – 2012-02-03 14:51:03

回答

2

這是由於Ubuntu切換到多拱形造成的。基本上所有的「標準」路徑都被改變了,所以你可以在同一臺機器上安裝多個體繫結構的庫而不會發生任何衝突。

當然,Ubuntu GCC已經修補以解決這個問題,但上一次編譯器在上次檢查時仍然沒有修復。

在這裏看到:https://askubuntu.com/questions/69365/cant-build-gcc-anymore-since-upgrade-to-11-10

+0

它現在有效。我只是將相應的'crt * .o'符號鏈接到'/ lib'。這有點破解,因爲我通常不喜歡手動鏈接系統目錄中的東西,但現在看起來工作。我會看看鏈接,看看這個決議是否更適合。 – LiKao 2012-02-05 16:55:55

相關問題