2009-01-15 54 views
28

我們有一個需要glibc 2.4(來自gcc 4.1)的新應用程序。我們運行的機器有gcc 3.4.6。我們無法升級,並且應用程序必須在本機上運行。如何使用GCC的多個版本

我們安裝了gcc 4.1,但是編譯時它使用了3.4.6中的所有包含等。

我們如何解決這個問題?

對於僅僅使用4.1這個應用程序的任何建議?

回答

21

請參閱GNU GCC FAQ中的「如何安裝多個版本的GCC」here

還有一個白皮書here

3

你試過gcc-select?否則,請嘗試在shell中設置INCLUDE_PATHLIBRARY_PATH

+0

無法找到它,任何想法,如果這個軟件包仍然存在或已更改名稱? – claf 2009-10-13 10:48:26

+0

這聽起來像某些特定的分佈。讓我想起Gentoo或Debian,但我不確定。 – 2009-12-07 03:12:23

2

您可能仍然執行舊的gcc。試着做一個符號鏈接從gcc到你對它的版本,像

ln -s gcc-4.1 gcc 

謹防不刪除舊的「海灣合作委員會」二元擺在那裏的,萬一他們把不只是一個符號鏈接。如果你可以重新編譯自己的gcc版本,最安全的就是在配置gcc的時候使用另一個前綴,如--prefix=/home/jojo/usr/gcc(我用gv-4.4從svn-trunk那樣做了,並且工作得很好)。

請注意,它只是運行正確的gcc版本。如果你更新你的gcc,你的glibc也不會自動更新。它是一個獨立的軟件包,與系統的其他部分緊密結合。安裝另一個glibc版本時要小心。

0

Ubuntu的它很容易

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt-get update

,然後安裝示例gcc版本6

sudo apt-get install gcc-6