如何在 Ubuntu 16.04 中将 gcc-5 升级到 gcc-7?

如何在 Ubuntu 16.04 中将 gcc-5 升级到 gcc-7?

这是一个后续问题如何安装 gcc-7 或 clang 4.0?

按照其中的答案,我可以通过以下方式安装 gcc-7.2:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y gcc-7

但是,安装后,gcc/g++命令仍然默认为5.4.0

gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

是否可以/安全地将其gcc-7作为默认值并完全删除旧的 gcc-5.x 文件?


请注意,与上述重复不同,我正在寻找移除/替换gcc-5.x 而不是设置符号链接。

答案1

经过多次尝试和错误后,我似乎可以回答我自己的问题不是可以安全地删除/替换旧的 gcc (gcc-5),因为它将破坏很多依赖关系,甚至消灭整个工具链。

例如,当尝试删除/替换 gcc-5 时,如评论中所述

运行 update-alternatives 将 gcc-7 设置为默认 gcc 版本并输入 sudo dpkg -r gcc-5

这会产生一个错误:

dpkg: dependency problems prevent removal of gcc-5:
 g++-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).
 g++ depends on gcc-5 (>= 5.3.1-3~).
 gcc depends on gcc-5 (>= 5.3.1-3~).
 gfortran-5 depends on gcc-5 (= 5.4.1-2ubuntu1~16.04).

将这些依赖项添加到项目列表中时sudo dpkg -r,需要删除越来越多的软件包。例如

 ...
 r-base-dev depends on g++.
 build-essential depends on g++ (>= 4:5.2).

我还没有尝试找到将被删除的最大软件包集,如下所述如何卸载 .deb 包?。但很显然到那时 Ubuntu 中大多数有用的软件包都将消失。

相关内容