2011-06-16 165 views
1

我想在我的ubuntu 9.10(通過virtualbox)安裝gcc 4.6(主要用於支持C++ 0x)。我提到previous questions,但我收到了一個不同的錯誤。在ubuntu上安裝gcc 4.6的問題

我指的是this link for the installation。現在,我已經完成了,直到步驟./gcc-xx/configure ...。雖然它給出了一些軟件包相關的錯誤。這主要是由於該make也與下面的錯誤失敗:

編譯/ gengtype.o:在功能 adjust_field_rtx_def': /home/milind/ubuntu_shared/GCC/build/gcc/../../gcc-4.6-20110610/gcc/gengtype.c:978: undefined reference to lexer_line」 /home/milind/ubuntu_shared/GCC/build/gcc/../../ GCC-4.6-20110610/GCC/gengtype.c裏:1032: 未定義參考lexer_line' /home/milind/ubuntu_shared/GCC/build/gcc/../../gcc-4.6-20110610/gcc/gengtype.c:1042: undefined reference to lexer_line」 ...............

現在,這是給我一個困難時期搞清楚,因爲我已經安裝了flex/bison最新版本。我在互聯網上搜索了2天,但幾乎沒有運氣。任何幫助將非常感激。另外請注意,我已經在/usr/bin/gcc中安裝了gcc 4.4,並且已將我的主目錄本地文件夾中的gcc 4.6 tar解壓縮。

[注:我也可以安裝ubuntu 11.10(它有gcc 4.6)作爲最後的手段。但我不知道它的.iso圖像是否可用。]

回答

2

我弄明白了。我遵循以下程序: [注意:如果您未以root身份登錄,請運行所有命令和sudo [請注意:。例如sudo ls -ltr; sudo make install;

  1. 作爲鏈接在我 問題中提及,下載gcc4.6...tar 文件在一個臨時的地方
  2. 現在尋找到當前 gcc的存放處。例如我之前的 gcc4.4存儲在 /usr/lib/gcc/i486-linux-gnu中。這 有一個名爲4.44.4.1
  3. 文件夾,創建一個名爲4.6文件夾(或 ​​等),並把該 .tar文件裏面。解壓鏈接中顯示的 文件。
  4. 請按照 鏈接中的所有步驟操作。使用nohup <command> &至 跟蹤日誌。即nohup make clean all &其次tail -f nohup.out
  5. 如果出現一些錯誤,這意味着一些 包缺失。大多數這些 包將出現在您的 當前gcc版本。你可以在 自己安裝它們。例如,對於 示例,在我的情況下zlib是 缺失。我跑sudo apt-get install zlib1g-dev libssl-dev和它的工作 罰款。否則,從互聯網下載並安裝它。您可以使用type gcc-4.6進行檢查。在我的情況下,它顯示它存儲爲 /usr/local/bin/g++-4.6
  6. 要麼你可以使用相同的路徑 編譯,或者你可以把alias在 你的bash/tcsh/ksh。例如 /usr/local/bin/g++-4.6 -std=c++0x -Wall test.cpp
1

FWIW Debian測試和不穩定的版本都有gcc-4.6作爲標準軟件包。因此,您可以簡單地將該發行版安裝在virtualbox中,或者,正如我在家中的Ubuntu 11.04服務器上通過kvm所做的那樣。在過去,我也習慣使用dchroot構建環境。

在啓動板上還可能有預打包的gcc-4.6二進制文件。

+0

+1,謝謝。但是,沒有辦法克服這些彈性或野牛錯誤?有什麼和修復它們的路徑有關嗎?也就是說,我應該從特定的路徑或者類似的東西中配置'./configure' gcc? – iammilind 2011-06-17 02:54:02

+0

通常有。我有時會從Debian軟件包源中構建本地Ubuntu軟件包。但這是一個巨大的挑戰 - 你可能需要一個新的libc6以及所有這些 - 那麼爲什麼不把這個發行版虛擬成一個設備呢? – 2011-06-17 03:01:13