如何在CentOS 7.2上安装带有yum的gcc 5.3?

sun*_*ine 86 gcc install yum centos7 gcc5

我使用的是CentOS 7.2

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

在此输入图像描述

我想安装gcc 5.3

如何处理这个问题yum

tes*_*ch1 153

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

作为示例,有一个用于devtoolset-7的gcc-7.2.1包.首先,您需要启用软件集合,然后在devtoolset-7中可用:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version
Run Code Online (Sandbox Code Playgroud)

  • 不仅如此,你可以安装devtoolset-6来获得6.2.1 (4认同)
  • 更改符号链接不是最好的事情,因为它可能由另一个可以升级的包所拥有/管理.最好在登录时激活它,或者使用`scl enable devtoolset-6 bash`或`在系统范围的登录脚本中激活它./ opt/rh/devtoolset-6/bin/enable` [软件工具文档的更新链接](https://www.softwarecollections.org/en/scls/rhscl/devtoolset-6/) (4认同)
  • 我使用`source scl_source enable devtoolset-4`来切换我当前的gcc和`devtoolset-4'安装的gcc. (4认同)
  • centos7 上不存在 devtoolset-5,因此答案不适用于操作问题。 (3认同)
  • devtoolset中的gcc版本同时被提升到5.3.1 (2认同)

HDJ*_*MAI 69

更新:

安装最新版本的gcc:gcc 8(GCC 8.3.0) - 发布于02/22/2019:

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

编译并安装:

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

yum install zlib-devel*

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

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

make install
Run Code Online (Sandbox Code Playgroud)

结果: gcc 8.3.0和g ++ 8.3.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
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

老答案:

目前,没有rpm包用于在CentOS 7.2甚至CentOS 7.3中安装带有yum的gcc 5.3

解决方案是从源代码安装gcc 5.3 :

1:安装所需的库

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

yum install zlib-devel*

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

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

make install
Run Code Online (Sandbox Code Playgroud)

接受在此步骤中安装CentOS GPG密钥

在此输入图像描述

安装 - zlib

//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
Run Code Online (Sandbox Code Playgroud)

2:下载所需的源并安装

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

yum install zlib-devel*

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

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

make install
Run Code Online (Sandbox Code Playgroud)

验证版本:

在此输入图像描述

笔记:

1. 此Stack Overflow答案将有助于了解如何验证下载的源文件.

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

  • `make -j $(nproc)` (3认同)
  • 这花了我超过4个小时来编译和超过6GB的硬盘空间. (2认同)

use*_*153 11

您可以使用 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;
Run Code Online (Sandbox Code Playgroud)


小智 5

使用yum并更新devtoolset的最佳方法是使用CentOS SCLo RH测试存储库.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++
Run Code Online (Sandbox Code Playgroud)

还有许多其他软件包可供查看

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*
Run Code Online (Sandbox Code Playgroud)

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