【问题标题】:How can I install a new version of gcc on ubuntu如何在 ubuntu 上安装新版本的 gcc
【发布时间】:2010-04-23 19:24:57
【问题描述】:

我使用的是 ubuntu 9.10,它带有 gcc 4.4。 如何安装 gcc 4.5 而不会搞砸我的 gcc 4.4。环境。我只需要 gcc 4.5 来编译 1 个应用程序。

谢谢。

【问题讨论】:

  • 我怀疑在 SuperUser.com 上可以更好地回答这个问题。
  • 谷歌搜索这个问题把我带到了这里。好的。我正要自己问。不幸的是,我仍然发现两个答案中解释的方法都很难。正如 4 月 23 日所问的那样,也许现在有人对 gcc 4.6 有更好的答案?
  • @Dr Beco:从源代码构建对我来说效果很好。

标签: gcc ubuntu ubuntu-9.10


【解决方案1】:

我的首选方法是在/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

【讨论】:

  • 但是谁能在 4.4 和 4.5 之间来回切换呢?
  • 它们只是像当前可用的 gcc-4.3 和 gcc-4.4 一样在您的系统上共存,加上您可能从以前的 Ubuntu 安装中获得的旧版本。您可以使用 dpkg-alternatives 机制覆盖默认优先级,和/或在 /usr/local/bin 中创建应别名或链接。
  • 在将近一年后的更新中,您还拥有gcc-4.5g++-4.5 ....
【解决方案2】:

最简单的方法是安装成私有前缀:

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

在私有前缀中,覆盖现有文件的可能性为 0。然后,您需要将前缀添加到路径中。

第二种选择是给新的二进制文件一个后缀并使用特定于版本的运行时库:

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

虽然我不能保证其他文件不会被修改。

【讨论】:

  • 它的工作原理是将此打包安装在新目录中。由于所有文件都安装在新目录中,因此不会发生冲突。当您想使用新的二进制文件 (PATH=/some/private/prefix/bin:${PATH}) 时,它确实需要您将新目录添加到路径中。
  • 我假设你建议我自己下载和编译 gcc 4.5。但我担心它可能需要另一组依赖项?
  • @michael - 是的,gcc 有一些依赖项(参见gcc.gnu.org/install/prerequisites.html)。您最可能需要的是 GMP、MPFR 和 MPC。将它们全部安装到一个私有前缀中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
相关资源
最近更新 更多