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


94

我正在使用CentOS 7.2

当我使用时yum groupinstall "Development Tools",gcc版本是4.8.5,如下所示:

在此处输入图片说明

我想安装gcc 5.3

如何处理yum



@MohammadShahadatHossain哪里有yum资源?
阳光

我不确定,但是在这种情况下,您可以从此处使用RPM资源。rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset现在提供5.3.1-请参见下面的答案以获取使用yum启用和安装它的命令。
tesch1

Answers:


182

更新:
通常人们想要最新版本的gcc,并且devtoolset保持最新,因此也许您想要devtoolset-N,其中N = {4,5,6,7 ...},请检查yum系统上的最新版本)。将以下cmds更新为N = 7。

以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

2
与此同时,devtoolset中的gcc版本已提高至5.3.1
tesch1'1

4
不仅如此,您还可以安装devtoolset-6以获得6.2.1
Rahly

4
更改符号链接并不是最好的方法,因为它可能是由另一个可能升级的软件包所拥有/管理的。最好在您的登录名中激活它,或者在系统范围内的登录脚本中使用软件工具docsscl enable devtoolset-6 bash. /opt/rh/devtoolset-6/bin/enable 更新链接
tesch1'9

1
运行yum install devtoolset-4-binutils可能对获得完整的GCC工具链也很有帮助。
scrutari

5
我以前使用source scl_source enable devtoolset-4devtoolset-4
WF

74

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

2020年5月7日发布的gcc 10(gcc 10.1.0)可以使用相同的方法

下载文件: gcc-9.3.0.tar.gzgcc-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进行了测试

Gent 10.1的CentOS 8.1.1911下进行了测试(可能需要更多时间来编译)

结果: 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. 此堆栈溢出答案将有助于查看如何验证下载的源文件。

2.使用该选项--prefix将gcc安装到默认目录以外的其他目录。顶级安装目录默认为/ usr / local。阅读有关gcc安装选项的信息


为什么从ftp.mirrorservice.org而不是ftp.gnu.org下载?您还应该下载并验证相应的.sig文件(pgp签名)。
基思·汤普森

如图所示不带--prefix的配置将安装在/ usr / local /中,该安装可能会或可能不会先于您在PATH上的原始gcc安装
tim18 2013年

1
make -j $(nproc)
Chepe Questn

2
这花了我4个多小时来进行编译,并占用了6gb以上的HDD空间。
iDevFS

作为tim18建议,是可以安全运行make && make install没有--prefix?如果这样做,一切都被安装到/usr//usr/local,检查config.logConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

6

您可以使用centos-sclo-rh-testing存储库安装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文件更新为具有较新的符号。
鳞片

5

使用yum和更新您的devtoolset的最佳方法是利用CentOS SCLo RH Testing存储库。

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等。


-11

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

以超级用户身份键入以下yum命令:

百胜集团安装“开发工具”

要么

sudo yum group install“开发工具”

如果以上命令失败,请尝试:

yum groupinstall“开发工具”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.