Centos7 gcc 5.3.0 upgrade

wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

然后解压到文件夹

tar -xvzf gcc-5.3.0.tar.gz

进入解压缩之后的目录

cd gcc-5.3.0

然后执行下面的运行

./contrib/download_prerequisites

再返回上一层,建立build_gcc_4.8.1目录,这个目录和gcc-4.8.1平行

cd ..
mkdir build_gcc_5.3.0

进入刚建立的目录,并执行编译过程

cd build_gcc_5.3.0
../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib  
make -j23
make install

cd build_gcc_5.3.0
../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib  
make -j23
make install

 

OK,在build_gcc_5.3.0中将gcc已经安装完成

确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin

ls /usr/local/bin | grep gcc

执行

/usr/sbin/update-alternatives --install  /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40

gcc --version      #查看版本

/usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40

g++ --version     #查看版本

--------------------- 本文来自 lemontree1945 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/lemontree1945/article/details/79355501?utm_source=copy

 

=============================================

 

Centos7 gcc版本默认4.8.3,Red Hat 为了软件的稳定和版本支持,yum 上版本也是4.8.3,所以无法使用yum进行软件更新,所以使用scl。

scl软件集(Software Collections),是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。

使用scl升级gcc步骤:

1.安装scl源:

yum install centos-release-scl scl-utils-build

 

2.列出scl有哪些源可以用

yum list all --enablerepo='centos-sclo-rh'

Centos7 gcc 5.3.0 upgrade_第1张图片

 

3.安装5.3版本的gcc、gcc-c++、gdb

yum install devtoolset-4-gcc.x86_64 devtoolset-4-gcc-c++.x86_64 devtoolset-4-gcc-gdb-plugin.x86_64 

 

4.查看从 SCL 中安装的包的列表:

scl --list 或 scl -l

 

5.切换版本

切换前查看gcc版本

gcc -v

Centos7 gcc 5.3.0 upgrade_第2张图片

 

 切换版本:

 

scl enable devtoolset-4 bash

 

查看版本

Centos7 gcc 5.3.0 upgrade_第3张图片

6.使用exit 退出当前scl版本的bash环境

 

 

scl常用命令

1

2

3

4

5

scl --list 或scl -l

scl --help 或 scl -h

scl enable   #使用scl来执行command命令

scl enable  devtoolset-4 bash  #使用scl创建一个scl包的bash会话环境

exit  #退出当前scl bash环境,恢复成系统bash环境

  

你可能感兴趣的:(Linux)