2009-01-15 120 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