centos 7中gcc 9 源代码编译安装的方法

作者

centos下安装一些软件的时候,需要高版本的GCC, yum 源里新的gcc版本是 4.8。 安装gcc 9 的时候,遇到了一些问题,这里记录一下安装的过程。

测试的环境信息

服务器4核心4G配置

服务器的配置是 4核心4G的内存,系统为centos7, 如果是小内存可能会导致失败,另外gcc编译过程时间非常长,这里使用4核心,也需要1个多小时。

安装的脚本

yum update -y
yum install -y  gcc-c++  glibc-static gcc bzip2 wget tmux

cd ~
wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
tar -xzf gcc-9.1.0.tar.gz
cd cd gcc-9.1.0

./contrib/download_prerequisites
# gmp-6.1.0.tar.bz2: OK
# mpfr-3.1.4.tar.bz2: OK
# mpc-1.0.3.tar.gz: OK
#isl-0.18.tar.bz2: OK
# All prerequisites downloaded successfully. 


./configure --prefix=/usr/local/gcc  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib
time make -j4

make install

gcc 安装成功后的一些设置

# 环境变量path
echo  "export PATH=/usr/local/gcc/bin:$PATH" >> /etc/profile.d/gcc.sh
source /etc/profile.d/gcc.sh

# 头文件
ln -sv /usr/local/gcc/include/ /usr/include/gcc

# 库文件
echo "/usr/local/gcc/lib64" >> /etc/ld.so.conf.d/gcc.conf
ldconfig -v
ldconfig -p |grep gcc

gcc 9.1安装成功后的信息

gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-pc-linux-gnu/9.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 9.1.0 (GCC)

参考的资料和软件

http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/
https://www.cnblogs.com/succeed/p/6204438.html

8 评论

    1. 不过环境变量不是他那么配的,
      vi /etc/profile, 追加
      export PATH=/usr/local/gcc/bin:$PATH
      export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/gcc/include/
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc/lib64

  1. 请教各位大神,gfortran怎么升级呀,我在配置安装文件时加上了Fortran,即,./configure –prefix=/usr/local/gcc –enable-bootstrap –enable-checking=release –enable-languages=c,c++,fortran –disable-multilib,再进行后面的操作还是不行。

  2. 你好,
    # gmp-6.1.0.tar.bz2: OK
    # mpfr-3.1.4.tar.bz2: OK
    # mpc-1.0.3.tar.gz: OK
    #isl-0.18.tar.bz2: OK
    这些组件在下载过后不需要解压吗?

    我解压了它们并 建立了软连接,才能进一步编译。

  3. 在线安装更方便
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    scl enable devtoolset-9 bash
    echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
    gcc -v

回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注