钧言极客钧言极客

不因何事去制作
只因兴趣而创造

CentOS编译升级GCC高版本手记

一般情况下centos7带的gcc环境,一般都是4.8.x,可以满足大部分的安装环境,如果遇到奇葩的MariaDB,这时候需要高点的Gcc版本来进行,这里把环境全部编译到最新版本。即是gmp-6.2.0、mpf-4.1.0、mpc-1.2.0、gcc10.2.0

安装依赖 gmp,mpfr和mpc,这三个依赖存在关联,前后顺序,缺一不可。

gmp:http://ftp.gnu.org/gnu/gmp/
mpfr官网:http://www.mpfr.org/mpfr-current/
mpc:http://ftp.gnu.org/gnu/mpc/

安装gmp

wget http://ftp.gnu.org/gnu/gmp/gmp-6.2.0.tar.bz2
tar -xjvf gmp-6.2.0.tar.bz2
cd gmp-6.2.0
mkdir gmp-build
cd gmp-build
../configure --prefix=/usr/local/gmp-6.2.0
make && make install

安装mpfr

wget http://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz
tar -xzvf mpfr-4.1.0
cd mpfr-4.1.0
mkdir mpfr-build
cd mpfr-build
../configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.2.0
make && make install

安装mpc

wget http://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz
tar -xzvf mpc-1.2.0.tar.gz
cd mpc-1.2.0
mkdir mpc-build
cd mpc-build
../configure --prefix=/usr/local/mpc-1.2.0 --with-gmp=/usr/local/gmp-6.2.0 --with-mpfr=/usr/local/mpfr-4.1.0
make && make install
## 编辑profile
vim /etc/profile
## 添加应用变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.2.0/lib:/usr/local/gmp-6.2.0/lib:/usr/local/mpfr-4.1.0/lib
## 使配置生效
source /etc/profile

安装GCC 10.2

编译Gcc时间超久,需要1个小时还多,所以要预留更多的时间出.

wget http://pan.8dns.cn/liunx/gcc-10.2.0.tar.gz
tar -zxvf gcc-10.2.0.tar.gz
cd gcc-10.2.0
mkdir gcc-build
cd gcc-build
../configure --prefix=/usr/local/gcc-10.2.0 --enable-threads=posix --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.2.0 --with-mpfr=/usr/local/mpfr-4.1.0 --with-mpc=/usr/local/mpc-1.2.0
make -j4 && make install

注意服务器配置低的情况下,不要使用多线程并发编译,可能对导致编译的应用被杀死,或者添加加大swap的内存.

备份旧版本

mv /usr/bin/gcc gcc_4.8.5back
mv /usr/bin/g++ g++_4.8.5back

调用新版本

ln -s /usr/local/gcc-10.2.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-10.2.0/bin/g++ /usr/bin/g++

查看gcc版本

gcc -v 或者 gcc --version

未经允许不得转载:钧言极客 » CentOS编译升级GCC高版本手记

评论 抢沙发