#可以查看gcc的版本
gcc -v
服务器gcc版本过低时,编译软件有时会报错,所以需要高本版的gcc库
gcc动态库下载地址
gmp下载链接
mpfr下载链接
mpc下载链接
#解压下载好的压缩包
tar -zxvf gcc-9.3.0.tar.gz
tar -jxvf gmp-6.1.0.tar.bz2 && mv gmp-6.1.0 gcc-9.3.0/gmp
tar -zxvf mpfr-4.1.0.tar.gz && mv mpfr-4.1.0 gcc-9.3.0/mpfr
tar -zxvf mpc-1.0.3.tar.gz && mv mpc-1.0.3 gcc-9.3.0/mpc
tar -jxvf isl-0.18.tar.bz2 && mv isl-0.18 gcc-9.3.0/isl
#编译三个安装gcc的必须库,首先编译gmp,其次是mpfr,最后是mpc(一定要按照这个顺序,因为他们之间有依赖)
./configure --prefix=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/ &&make &&make install
./configure --prefix=/public1/home/stu_xuliangwei/src/gcc-9.3.0/mpfr/ \
--with-gmp-include=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/include \
--with-gmp-lib=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/lib \
&&make &&make install
./configure --prefix=/public1/home/stu_xuliangwei/src/gcc-9.3.0/mpc/ \
--with-gmp-include=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/include \
--with-gmp-lib=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/lib \
--with-mpfr-include=/public1/home/stu_xuliangwei/src/gcc-9.3.0/mpfr/include \
--with-mpfr-lib=/public1/home/stu_xuliangwei/src/gcc-9.3.0/mpfr/lib \
&&make &&make install
在编译mpc时遇到报错:mul.c:175:1: error: conflicting types for ‘mpfr_fmma’
则将 mpc/src/mul.c中的 mpfr_fmma函数改名为mpfr_fmma_mul,一共三处
cd src
sed -i 's/mpfr_fmma/mpfr_fmma_mul/' mul.c
../configure --disable-checking --enable-languages=c,c++,fortran --disable-multilib --prefix=/public1/home/stu_xuliangwei/src/gcc9/ --enable-threads=posix
~~~~~~~~~~~~~~~~
1 在安装isl时候,需要重新创建一个目录编译不然会报错:提示无法在源目录编译。
2报错 gmp.h header not found时,需要将gmp加入到环境变量中
export LD_LIBRARY_PATH=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/lib
export CPLUS_INCLUDE_PATH=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/include/
export C_INCLUDE_PATH=/public1/home/stu_xuliangwei/src/gcc-9.3.0/gmp/includ
3报错configure: error: gmp library not found,还没有找到解决办法。
~~~~~~~~~~~~~~~~
最后在安装gcc的过程遇到的问题
最后make gcc的时候一直出现这个错误,不知道怎么解决