首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ubuntu 16.04将gcc-5升级为gcc-7?

如何在Ubuntu 16.04将gcc-5升级为gcc-7?
EN

Ask Ubuntu用户
提问于 2017-11-11 05:18:40
回答 1查看 5.6K关注 0票数 1

这是如何安装gcc-7或clang4.0?的后续问题。

在回答后,我得以通过以下方式安装gcc-7.2:

代码语言:javascript
复制
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

代码语言:javascript
复制
gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609

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

注意,与上述复制不同,我希望删除/替换gcc-5.x,而不是设置一个符号链接。

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2017-11-12 00:26:47

为了回答我自己的问题,经过多次尝试和错误后,似乎不安全地删除/替换老gcc (gcc-5),因为它将打破许多依赖程度,以消除整个工具链。

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

运行更新选项,将gcc-7设置为默认gcc版本,类型为sudo -r an-5。

这会产生一个错误:

代码语言:javascript
复制
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项列表时,需要删除越来越多的包。例如:

代码语言:javascript
复制
 ...
 r-base-dev depends on g++.
 build-essential depends on g++ (>= 4:5.2).

我还没有像如何卸载.deb包?中所描述的那样,试图找到将被删除的最大的包集。但是很明显,到那时Ubuntu中的大多数有用的包都会消失。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/975285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档