centos下安装一些软件的时候,需要高版本的GCC, yum 源里新的gcc版本是 4.8。 安装gcc 9 的时候,遇到了一些问题,这里记录一下安装的过程。
测试的环境信息
服务器的配置是 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
安装完你的g++还能用吗
我安装完g++可以用
不过环境变量不是他那么配的,
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
两种方法都可以
请教各位大神,gfortran怎么升级呀,我在配置安装文件时加上了Fortran,即,./configure –prefix=/usr/local/gcc –enable-bootstrap –enable-checking=release –enable-languages=c,c++,fortran –disable-multilib,再进行后面的操作还是不行。
“c,c++,fortran” 会不会是这里多打了一个空格?
你好,
# 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
这些组件在下载过后不需要解压吗?
我解压了它们并 建立了软连接,才能进一步编译。
在线安装更方便
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