将 GCC 版本升级到发行版附带的版本之外是不是有任何问题?

Posted

技术标签:

【中文标题】将 GCC 版本升级到发行版附带的版本之外是不是有任何问题?【英文标题】:Is there any issue in upgrading GCC version to other than the ones come with distro?将 GCC 版本升级到发行版附带的版本之外是否有任何问题? 【发布时间】:2018-01-31 15:08:44 【问题描述】:

我使用的是 RHEL7.2,默认 GCC 版本是 4.8.5 20150623

出于几个原因,我想将 GCC 升级到 6.1 及更高版本。 (如 C++14 支持,良好的清理 选项,SSO)

This link 表示发行版由于某些原因保留默认版本的 GCC,否则可能会破坏 ABI。

如果我使用相同的编译器构建所有库/文件,是否可以升级 GCC?我还需要注意什么吗?

【问题讨论】:

这取决于你要做什么。如果您需要重建内核,最好还是使用官方编译器。如果您在不修改内核的情况下进行应用程序开发,我会选择您可以使用的最新版本(截至 2018 年 1 月 26 日的 7.3.0)。我会与官方版本分开安装升级版本;我不会修改官方版本,但我也不会使用它。 @JonathanLeffler 用于应用程序开发。但是我提到的链接给出了一些原因,说明为什么在发行版中它没有升级。只有在编译内核时才适用吗? 我还没有阅读你的链接;我要做的第一件事是修复问题中的链接,使其可用。根据我的经验,如果您在要运行它的系统上构建编译器,您应该不会遇到问题。我从来没有遇到过问题。 (出于我讨厌的晦涩原因,我的一台工作机器正在运行古老的 RHEL 5.x;它还安装了 GCC 7.3.0(以及 7.2.0、6.x 和 5.x)——我构建了它们在机器上——我从来没有遇到过问题。如果你导入其他地方构建的 GCC,你可能会遇到问题。)。我主要使用 C 语言工作,但也有 C++。 【参考方案1】:

您不想更新/替换系统,因为这可能会导致不兼容/ABI 问题。

在不同的位置安装新的 gcc。

或者,更简单,只需获取Red Hat Developer Toolset。

【讨论】:

以上是关于将 GCC 版本升级到发行版附带的版本之外是不是有任何问题?的主要内容,如果未能解决你的问题,请参考以下文章

发行版将 GCC 升级到 5.5.0 后,AVX512 内在函数头会产生许多错误

scala 使用的是二进制发行版附带的 akka,而不是 sbt 的发行版

Linux(CentOS)升级gcc版本

Linux(CentOS)升级gcc版本

怎么查看linux 是不是安装gcc

Linux服务器 如何安装pkg包 软件