0
点赞
收藏
分享

微信扫一扫

CentOS7中安装MP-SPDZ

颜路在路上 2022-04-21 阅读 43

CentOS7中安装MP-SPDZ


前言

       在CentOS中需要依赖库的名称以及版本与MP-SPDZ官网提供的版本不统一,这里记录一下。

版本信息:
       操作系统:CentOS 7
       MP-SPDZ: 0.2.9


一、依赖库汇总

yum install autoconf gcc gcc-c++ git libboost-dev libboost-thread-dev \
libgmp3-dev libntl-dev libsodium-dev libssl-dev libtool m4 make man \
python sudo texinfo valgrind vim yasm tar bzip2 wget openssl11-devel \
openssl11-static zlib-devel libsodium-devel boost169-devel gmp-devel \
rh-python35 libsodium-static boost169-static zlib-static openssl \
openssl-perl llvm-toolset-7

先使用yum 安装,安装后,下载MP-SPDZ压缩包,解压后。

cd MP-SPDZ
make -j 8 tldr

如果没有报错,那么恭喜你,编译成功。
但是大概率会出问题。

二、问题

1.GCC版本不对

Centos7中默认安装的gcc版本是4.8.5,但是MP-SPDZ需要的版本是5以上,所以需要升级,将环境中的gcc版本变更。
1、安装centos-release-scl

sudo yum install centos-release-scl

2、安装devtoolset,注意,如果想安装8.版本的,就改成devtoolset-8-gcc,以此类推

sudo yum install devtoolset-7-gcc*

3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-7 bash

大功告成,查看一下gcc版本

gcc -v

4、直接替换旧的gcc

mv /usr/bin/gcc /usr/bin/gcc-4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g+±4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

gcc --version

g++ --version

2. libsodium库有问题

在这里插入图片描述
安装 libsodium 1.0.18即可,步骤如下:

1、下载并解压

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable.tar.gz
tar -zxf libsodium-1.0.18-stable.tar.gz  
cd libsodium-stable

2、编译安装

./configure --prefix=/usr  
make && make check  
sudo make install  
sudo ldconfig

3. libtool 的版本有问题

安装 libtool 2.4.6 可以解决
1、下载并解压

wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
tar -zxf libtool-2.4.6.tar.gz
cd libtool-2.4.6

2、编译安装

./configure --prefix=/usr
sudo make
sudo make install
sudo ldconfig

4. 安装 libboost-dev找不到包

yum install boost-devel

5. 杂项

1、编译MP-SPDZ遇到的问题
在这里插入图片描述
应该是程序内部冲突的问题。运行一下命令可以解决

make clean

2、编译 .x协议遇到的问题
在这里插入图片描述

CentOS 7的系统编译器比较旧,使用以下命令完成

scl enable devtoolset-7 make ...
举报

相关推荐

0 条评论