linux上安装新版本gcc和ntl库

最近想在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)

你可能感兴趣的:(数据安全,he)