如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?

Posted

技术标签:

【中文标题】如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?【英文标题】:How to Install gcc 5.3 with yum on CentOS 7.2? 【发布时间】:2016-07-19 13:50:13 【问题描述】:

我使用的是 CentOS 7.2

当我使用yum groupinstall "Development Tools"时,gcc版本是4.8.5,像这样:

我想安装 gcc 5.3

如何使用yum 解决这个问题?

【问题讨论】:

跟随本教程vultr.com/docs/how-to-install-gcc-on-centos-6 @MohammadShahadatHossain 是否有 yum 资源? 我不确定,但在这种情况下,您可以使用此处的 RPM 资源。 rpmfind.net/linux/rpm2html/search.php?query=gcc devtoolset 现在提供 5.3.1 -- 请参阅下面的答案,了解使用 yum 启用和安装它的命令。 【参考方案1】:

更新: 通常人们想要最新版本的 gcc,并且 devtoolset 保持最新,所以也许你想要 devtoolset-N 其中 N=4,5,6,7...,检查 yum 以获取最新版本在您的系统上)。为 N=7 更新了下面的 cmds。

以 devtoolset-7 的 gcc-7.2.1 包为例。首先你需要启用Software Collections,然后它在devtoolset-7中可用:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

【讨论】:

devtoolset 中的 gcc 版本同时已经升级到 5.3.1 不仅如此,还可以安装devtoolset-6来获取6.2.1 更改符号链接并不是最好的做法,因为它可能由另一个可以升级的软件包拥有/管理。最好在您的登录中激活它,或者在系统范围的登录脚本中使用scl enable devtoolset-6 bash. /opt/rh/devtoolset-6/bin/enable updated link to software tools docs 运行 yum install devtoolset-4-binutils 可能也有助于获得完整的 GCC 工具链。 我使用source scl_source enable devtoolset-4 将我当前的gcc 切换为devtoolset-4 安装的gcc【参考方案2】:

更新:安装最新版本的 gcc 9:(gcc 9.3.0) - 发布 2020 年 3 月 12 日

同样的方法可以应用于 gcc 10 (gcc 10.1.0) - 发布于 2020 年 5 月 7 日

下载文件: gcc-9.3.0.tar.gz 或 gcc-10.1.0.tar.gz

编译安装:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

在CentOS 7.8.2003 下测试 gcc 9.3 和 gcc 10.1

在CentOS 8.1.1911 下为 gcc 10.1 测试(可能需要更多时间编译)

结果: gcc/g++ 9.3.0/10.1.0

安装 gcc 7.4 (gcc 7.4.0) - 发布 2018 年 12 月 6 日

下载文件: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

编译安装:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

结果:

注意事项:

1. This Stack Overflow answer 将帮助您了解如何验证下载的源文件。

2. 使用选项--prefix 将gcc 安装到默认目录以外的另一个目录。***安装目录默认为 /usr/local。 Read about gcc installation options

【讨论】:

为什么从 ftp.mirrorservice.org 而不是 ftp.gnu.org 下载?您还应该下载并验证相应的.sig 文件(pgp 签名)。 不带 --prefix 的配置将安装在 /usr/local/ 中,这可能会或可能不会先于您在 PATH 上的原始 gcc 安装 make -j $(nproc) 这花了我 4 个多小时来编译和超过 6GB 的硬盘空间。 正如 tim18 建议的那样,在没有 --prefix 的情况下运行 make &amp;&amp; make install 是否安全?如果这样做,所有东西都安装到/usr/ 甚至/usr/local,检查config.logConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...【参考方案3】:

您可以使用 centos-sclo-rh-testing repo 安装 GCC v7 而无需永远编译它,也可以默认启用 V7 并让您在需要时在不同版本之间切换。

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;

【讨论】:

虽然这段代码可以回答问题,但最好解释一下如何解决问题,并提供代码作为示例或参考。仅代码的答案可能会令人困惑且缺乏上下文。 遗憾的是,此解决方案不会更新 /usr/lib64/libstdc++.so 文件以使用较新的符号。【参考方案4】:

使用 yum 和更新您的开发工具集的最佳方法是利用 CentOS SCLo RH 测试存储库。

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

还有许多额外的包可供使用,查看全部

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

您可以使用此方法安装任何开发工具版本,只需将 7 换成您想要的版本。 devtoolset-6-gcc、devtoolset-5-gcc 等

【讨论】:

【参考方案5】:

在 CentOS / RHEL 7 服务器上安装 GCC 和开发工具的命令

以 root 用户身份输入以下 yum 命令: yum group install "Development Tools"

sudo yum group install "Development Tools

如果上述命令失败,请尝试: yum groupinstall "Development Tools

【讨论】:

以上是关于如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.2 yum方式安装MySQL 5.7

CentOS 7.2 yum方式安装MySQL 5.7

CentOS 7.2 快速安装使用Docker

CentOS 7.2 - yum系列 - 查看已安装的功能包或应用

CentOS 7.2 安装 MySQL 5.6.24

腾讯云CentOS 7.2 64位安装Mongodb