2010-04-23 58 views
8

我使用的是Ubuntu 9.10,它帶有gcc 4.4。 如何安裝gcc 4.5而無需使用我的gcc 4.4。環境。我只需要gcc 4.5來編譯1個應用程序。如何在ubuntu上安裝新版本的gcc

謝謝。

+0

我懷疑這可能是更好的回答SuperUser.com。 – 2010-04-23 19:30:40

+0

谷歌搜索這個問題帶我到這裏。尼斯。我正準備自己提問。不幸的是,我仍然找到解決這兩種答案的方法很困難。正如在23年4月被問到的,也許現在有人對gcc 4.6有更好的回答? – 2011-03-28 03:46:31

+0

@Dr Beco:從源頭建設對我來說工作得很好。 – HighCommander4 2011-05-12 18:17:58

回答

0

最簡單的方法是安裝爲一體的民營前綴:

configure --prefix=/some/private/prefix ... 

在專用前綴,有0的機會,你會覆蓋現有文件。然後,您需要將前綴添加到路徑中。

的第二個選擇是給新的二進制文件後綴,並使用特定版本的運行時庫:

configure --program-suffix=-4.5.0 --enable-version-specific-runtime-libs 

雖然我不能保證其他一些文件不會被修改。

+0

這究竟是如何工作的? – 2010-04-23 19:35:33

+0

它通過將這個打包安裝在一個新目錄中來工作。由於所有文件都安裝在新目錄中,因此不存在衝突的可能性。 當你想使用新的二進制文件('PATH =/some/private/prefix/bin:$ {PATH}')時,它確實需要你將新目錄添加到你的路徑中。 – 2010-04-23 19:39:36

+0

我假設你建議我自己下載和編譯gcc 4.5。但我擔心的是它可能需要另一套依賴關係? – michael 2010-04-23 19:52:02

2

我的首選方法是在/etc/apt/sources.list中輸入deb-src,例如,

# Debian sources 
deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free 

我可以然後做apt-get source foo並獲取相應的包與它的來源,這將是解包。我通常會添加一個本地更新日誌條目(由版本號分開設置爲1.2-3local0)並重建。這有時需要建立依賴關係。這一切都取決於...

我想gcc-4.5目前在實驗as per this page所以你不得不添加實驗到sources.list文件以及。我沒有使用過,但它也應該工作:

deb-src http://ftp.debian.org/debian experimental main 
+0

但是我可以在4.4和4.5之間來回切換嗎? – michael 2010-04-23 19:51:28

+0

它們只是與您當前可用的gcc-4.3和gcc-4.4一起存在於您的系統中,以及您在之前的Ubuntu安裝中可能具有的舊版本。您可以使用dpkg-alternatives機制來覆蓋默認優先級,和/或在/ usr/local/bin中創建別名或鏈接。 – 2010-04-23 20:08:26

+0

作爲近一年後的更新,你也有'gcc-4.5'和'g ++ - 4.5' .... – 2011-03-22 22:57:15

相關問題