40

我们有一个需要 glibc 2.4(来自 gcc 4.1)的新应用程序。我们运行的机器有 gcc 3.4.6。我们不能升级,应用程序必须在这台机器上运行。

我们安装了 gcc 4.1,但是在编译时它使用了 3.4.6 中的所有包含等。

我们如何解决这个问题?

仅针对此应用程序使用 4.1 有什么建议吗?

4

5 回答 5

28

请参阅 GNU GCC FAQ 中的“如何安装多个版本的 GCC

这里还有一份白皮书。

于 2009-01-15T21:11:46.087 回答
4

对于 Ubuntu,这很容易

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

sudo apt-get update

然后安装例如 gcc 版本 6

sudo apt-get install gcc-6

于 2016-11-21T12:40:58.183 回答
3

你试过gcc-select吗?否则,请尝试在您的 shell 中设置INCLUDE_PATHand 。LIBRARY_PATH

于 2009-01-15T21:12:23.603 回答
3

update-alternatives 是拥有多个 gcc 版本的好方法:

http://ubuntuguide.net/how-to-install-and-setup-gcc-4-1g4-1-in-ubuntu-10-0410-10

于 2011-11-14T00:09:24.510 回答
2

你可能仍然执行旧的 gcc。gcc尝试从您的版本创建符号链接,例如

ln -s gcc-4.1 gcc

请注意不要删除放置在那里的旧“gcc”二进制文件,以防它们放置的不仅仅是符号链接。如果您可以重新编译自己的 gcc 版本,最安全的方法是在配置 gcc 时使用另一个前缀,类似于--prefix=/home/jojo/usr/gcc(我使用 svn-trunk 的 gcc-4.4 这样做,效果很好)。

请注意,这只是运行正确的 gcc 版本。如果你更新你的 gcc,你的 glibc 也不会自动更新。它是一个单独的包,与系统的其余部分深度耦合。安装另一个 glibc 版本时要小心。

于 2009-01-15T21:14:15.707 回答