最近想在CentOS release 6.10 (Final)上安装helib库,但是gcc版本太低并且没有cmake,而helib要求gcc版本>= 5.4.0,需要安装新版本gcc
1. 下载安装适配版本的gmp, mpfr, mpc
基本都是
./configure --prefix=/usr/local/gmp
make
make install
一定注意版本
mpfr安装时可能报错,做修改
如果报错:mul.c:175:1: error: conflicting types for ‘mpfr_fmma’
则将 mpc/src/mul.c中的 mpfr_fmma函数改名为mpfr_fmma_mul,一共三处
2. 编译gcc,我的配置是这样的
../gcc-7.5.0/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-languages=c,c++ --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr -with-mpc=/usr/local/mpc/ --with-isl=/usr/local/isl/ --disable-multilib
make -j 8
中间可能需要软链接gmp, mpfr, mpc到/usr/lib64下
make install
然后做软链接
ln -sf /usr/local/gcc/bin/gcc /usr/bin/gcc
ln -sf /usr/local/gcc/bin/c++ /usr/bin/c++
ln -sf /usr/local/gcc/bin/g++ /usr/bin/g++
ln -sf /usr/local/gcc/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6
3. 安装ntl库
./configure NATIVE=off
make -j16
make install
4. 安装helib,按照文档按照即可
需要注释掉clock_gettime(src/timing.cpp)
来源:CSDN
作者:山水之间的雪人
链接:https://blog.csdn.net/u014373825/article/details/104087444