Ubuntu 20.04-gcc 版本低于 gcc-7

Ubuntu 20.04-gcc 版本低于 gcc-7

我最近将我的 Ubuntu 版本升级到了最新的 20.04 版本。我之前的一些项目(在 16.04 上开发)使用 gcc 版本 5(gcc-5.4.0)编译得很好。

Ubuntu 20.04 中的默认版本是 gcc-9。我正在尝试将我的 gcc 版本切换为 5。我读过几篇帖子,例如如何在 Ubuntu 18.04 上构建和安装 gcc-5.4.0?如何选择默认的gcc和g++版本?但事实是 gcc-5 软件包甚至不适用于 20.04(请参阅https://packages.ubuntu.com/search?keywords=gcc-5)。

正如预期的那样,命令

sudo apt install gcc-5  

不起作用。有没有办法在最新版本的 Ubuntu 20.04 上安装 gcc-5(和 gcc-4)?似乎我必须以某种方式安装仅在早期版本(例如 16.04 或 18.04)中可用的软件包。

答案1

正如评论部分所述,xenial 存储库中仍然提供低于 7 的 GCC 版本。您可以按照以下步骤安装 gcc-5:

  1. 添加xenial/etc/apt/sources.list

使用 sudo 打开 sources.list

sudo vim /etc/apt/sources.list

在 sources.list 文件中添加以下行

德布http://dk.archive.ubuntu.com/ubuntu/xenial 主要
debhttp://dk.archive.ubuntu.com/ubuntu/西尼尔宇宙

  1. sudo apt update
  2. sudo apt install g++-5 gcc-5

参考答案:在 ubuntu 18.04 上安装 gcc 4.9

要将默认 gcc 版本更改为 gcc 5,您可以按照以下步骤操作关联。下面我添加了一些步骤以确保完整性。

sudo 更新替代方案 --install /usr/bin/gcc gcc /usr/bin/gcc-5 5 sudo
更新替代方案 --install /usr/bin/g++ g++ /usr/bin/g++-5 5

然后手动选择正确的版本,如下所示:

sudo 更新替代方案 --config gcc
sudo 更新替代方案 --config g++

如果您发现这个答案有帮助,还请考虑对参考答案投赞成票,我的大部分答案都是借用的。

答案2

仅有的对我有用的解决方案是:

手动安装 .deb 包

(悲伤的程序员声音)

  1. http://old-releases.ubuntu.com/ubuntu/pool/universe/g/
  2. 下载您想要的 gcc 编译器版本的所有 .deb 包,例如:
gpc-2.1-3.4_3.4.6-6ubuntu5_amd64.deb
cpp-3.4_3.4.6-6ubuntu5_amd64.deb       lib32g2c0_3.4.6-6ubuntu5_amd64.deb
g++-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0_3.4.6-6ubuntu5_amd64.deb
g77-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0-dev_3.4.6-6ubuntu5_amd64.deb
gcc-3.4_3.4.6-6ubuntu5_amd64.deb       libstdc++6-dbg_3.4.6-6ubuntu5_amd64.deb
gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb  libstdc++6-dev_3.4.6-6ubuntu5_amd64.deb
  1. 通过运行命令 fe 手动安装它们:
sudo dpkg -i ./gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb 
sudo dpkg -i ./cpp-3.4_3.4.6-6ubuntu5_amd64.deb
sudo dpkg -i ./gcc-3.4_3.4.6-6ubuntu5_amd64.deb

等等...

检查有关包依赖关系的控制台输出错误以确定包的安装顺序。

  • 如果您遇到有关“g++...”包与“libstdc++...”包的交叉依赖的错误(可能是 bug),然后运行 ​​install 命令以使用精确的版本号更新 libstdc++ 包,例如:
sudo apt-get install libstdc++6
  1. 万岁!使用安装的 gcc (g++) 版本,fe:
g++-3.4 -v

PS:如果你遇到缺少库的错误,请尝试

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

建造前

相关内容