centos7-install-gcc8.3

2019-05-10

mysql8编译安装需要GCC 5.3以上版本。
php7.3编译安装也需要更高版本gcc

1、gcc.gnu.org
Supported Releases
GCC 9.1(changes) Status:  2019-04-25 (regression fixes & docs only).
Seriousregressions. Allregressions.
GCC 8.3(changes) Status:  2019-02-22 (regression fixes & docs only).
Seriousregressions. Allregressions.
GCC 7.4(changes) Status:  2018-12-06 (regression fixes & docs only).
Seriousregressions. Allregressions.
Development:GCC 10.0 (release criteria, changes)
wget ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-8.3.0/gcc-8.3.0.tar.xz -P untar
wget http://gcc.skazkaforyou.com/releases/gcc-7.1.0/gcc-7.1.0.tar.gz

2、tar -xvf gcc-7.3.0.tar.gz -C /usr/local/gcc/
unxz untar/gcc-8.3.0.tar.xz

tar xf gcc-8.3.0.tar

3、编译安装gcc源码,不要删除旧版本gcc,

进入gcc 8.3.0目录,运行 download_prerequisites 脚本,

./contrib/download_prerequisites,

这个脚本会帮我们下载、配置、安装需要的依赖库。 如果哪个包不正常手动下载

wget http://gmplib.org/download/gmp/gmp-6.1.1.tar.bz2
cp ../gmp-6.1.0.tar.bz2 ./
cp ../mpfr-3.1.4.tar.bz2 ./
cp ../mpc-1.0.3.tar.gz ./
cp ../isl-0.16.1.tar.bz2 ./
4、 编译
mkdir gcc-build-8.3.0
cd gcc-build-8.3.0

../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

--enable-languages=c,c++          //让gcc支持的编程语言 ;

--disable-multilib               //取消多目标库编译(取消32位库编译)。

make,这个编译要好久,服务器编译了两个小时,云主机需要6个小时,

gcc-build-8.3.0 占用空间5.4G

5、卸载gcc旧版本

编译完成之后,需要把原来的GCC卸载,换成7.3.0版本的
找到已安装的gcc和gcc-c++包
rpm -qa|grep gcc

删除已经安装低版本
rpm -e [包名]
包名为上一步中显示的包,形如:
gcc-4.8.5-16.el7_4.2.x86_64
gcc-c++-4.8.5-16.el7_4.2.x86_64

那就删除吧
rpm -e gcc-4.8.5-16.el7_4.2.x86_64
rpm -e gcc-c++-4.8.5-16.el7_4.2.x86_64

yum -y remove gcc-4.8.5-16.el7_4.2.x86_64  gcc-c++-4.8.5-16.el7_4.2.x86_64

yum -y install compat-libstdc++-33.i686 compat-libstdc++-33.x86_64

Installing : libgcc-4.8.5-36.el7_6.2.i686                                                                                     1/2
Installing : compat-libstdc++-33-3.2.3-72.el7.i686                                                                            2/2
Verifying  : compat-libstdc++-33-3.2.3-72.el7.i686                                                                            1/2
Verifying  : libgcc-4.8.5-36.el7_6.2.i686                                                                                     2/2

6、make install

ln -s /usr/local/gcc8.3/bin/gcc /usr/bin/gcc

ln -s /usr/local/gcc8.3/bin/gcc /usr/bin/cc

ln -s /usr/local/gcc8.3/bin/g++ /usr/bin/g++

ln -s /usr/local/gcc8.3/bin/c++ /usr/bin/c++

 

7、查看gcc的安装位置:which gcc
然后再查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置

 

分类:Linux | 标签: |

相关日志

评论被关闭!