我们有一个需要 glibc 2.4(来自 gcc 4.1)的新应用程序。我们运行的机器有 gcc 3.4.6。我们不能升级,应用程序必须在这台机器上运行。
我们安装了 gcc 4.1,但是在编译时它使用了 3.4.6 中的所有包含等。
我们如何解决这个问题?
仅针对此应用程序使用 4.1 有什么建议吗?
对于 Ubuntu,这很容易
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
然后安装例如 gcc 版本 6
sudo apt-get install gcc-6
你试过gcc-select
吗?否则,请尝试在您的 shell 中设置INCLUDE_PATH
and 。LIBRARY_PATH
update-alternatives 是拥有多个 gcc 版本的好方法:
http://ubuntuguide.net/how-to-install-and-setup-gcc-4-1g4-1-in-ubuntu-10-0410-10
你可能仍然执行旧的 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 版本时要小心。