在 Ubuntu 中降级 gcc/g++?

Posted

技术标签:

【中文标题】在 Ubuntu 中降级 gcc/g++?【英文标题】:Downgrade gcc/g++ in Ubuntu? 【发布时间】:2017-07-04 22:27:30 【问题描述】:

我正在尝试将 gcc/g++ 降级到 4.8.1。我尝试了两种选择,但都有问题。

    使用sudo apt install gcc-4.8 g++-4.8。这个选项会安装4.8.5等。不知有没有办法指定4.8.1。 sudo apt install gcc-4.8.1 g++-4.8.1 不起作用,因为它会抱怨 "unable to locate package gcc-4.8.1"

    下载“gcc-4.8.1”并按照官方步骤(“配置、制作、制作安装”),但在制作步骤中失败,并出现错误“CXXABI_1.3.8”未找到。

我找到了另一个解决方案,但我不确定它是否可取(“install gcc-4.8.1 from source code on Ubuntu-16.04”)。

如何在 Ubuntu 中将 gcc/g++ 降级到 4.8.1?

非常感谢。

【问题讨论】:

你到底想解决什么问题? 我们公司的编译器是gcc/g++ 4.8.1 on ubuntu 13-04。我的 ubuntu 是 16.04,而 gcc/g++ 是 5.4.0。我希望拥有与公司相同的编译器,以免出现与 ABI 等相关的问题。(我对 gcc 编译器了解不多,认为这是最简单的解决方法)。 semver.org - 4.8.5 应该具有与 4.8.1 相同的行为,但更好。 谢谢!我将尝试这两个选项(使用从 deb 文件构建的 4.8.5 和 4.8.1)。 在某种程度上是题外话,但重点是:13.04 是 2014 年初的死版......如果没有真正重要的理由让它保持活力,我建议你让他们做一个全新安装(并选择持续 4 5 年的 LTS……不像 9 个月的 13.04)。如果您通过这些电脑使用互联网,则您已经遇到了安全问题 【参考方案1】:

如何在 Ubuntu 中将 gcc/g++ 降级到 4.8.1?

我认为您想查看命令“update-alternatives”(而不是“降级”)。

要了解更多信息,请浏览“https://askubuntu.com/questions/529687/how-to-use-update-alternatives-to-manage-multiple-installed-version-of-the-sam”

update-alternatives 通过更改命令 g++ 指向的内容来工作。目前在我的系统上,g++ 指向 g++-6。


我有时会遇到无法正常工作的安装。我最近的 g++ v6.2 安装坏了,我不知道为什么。

但是因为我的ubuntu已经过时了,我打算升级到最新的ubuntu。我还不如等待安装最新的编译器。

与此同时,我有 6.2.0,它不能“工作”(原因未知)。 g++ 指向这一点:

~$ g++ --version 
g++ (GCC) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

由于我很少删除(卸载)正在使用的以前的版本,事实证明,通过简单的搜索来确定可用的版本,我可以使用后缀访问较旧的编译器。例如

~$ g++-5 --version
g++-5 (Ubuntu 5.2.1-23ubuntu1~15.10) 5.2.1 20151028
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

所以,我继续或多或少与失败的 6.2.0 安装之前相同。

对你来说,我认为这意味着你可以使用你的包管理器来安装你想要的早期编译器,但记得搜索它,以防它已经存在于你的系统上。然后使用 update-alternatives 将其设置为默认值,或者只是学习要调用的新命令名称,即 g++-5,并继续使用易于使用的两个命令进行开发。

【讨论】:

以上是关于在 Ubuntu 中降级 gcc/g++?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下安装gcc,g++

gcc/g++多版本切换 (ubuntu18.04)

ubuntu下安装gcc,g++

ubuntu 16.04 更新 gcc/g++ 4.9.2

更新 ubuntu 10.4 后无法将 errno.h 与 gcc/g++ 一起使用

ubuntu16.04多版本gcc,g++切换