首先按照论文给出的代码链接,进行克隆:
https://github.com/encryptogroup/OPPRF-PSI
git clone https://github.com/encryptogroup/OPPRF-PSI --recursive
–recursive的目的是循环克隆,防止漏掉一些重要文件。
打开readme文档,查看配置要求:
使用以下命令,查看自己的Ubuntu中是否安装有相应依赖。
g++ --version //查看g++版本
dpkg -l | grep libboost-dev //查看boost版本
dpkg -l | grep libgmp-dev //查看gmp版本
openssl version //查看ssl版本
dpkg -l | grep ntl //查看ntl版本
然后进入OPPRF-PSI文件夹,创建一个build文件夹,并进入build中:
cd OPPRF-PSI
mkdir build
cd build
然后进行cmake,它给了两个选项分别是:
-DPSI_ANALYTICS_BUILD_TESTS=ON
-DPSI_ANALYTICS_BUILD_EXAMPLE=ON
这里使用第一个选项执行以下命令:
cmake -DPSI_ANALYTICS_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug ..
然后开始报第一个错误:
提示找不到glib-2.0,我直接去apt-get install下载了这个依赖
sudo apt-get update
sudo apt-get install libglib2.0-dev
然后继续cmake
就成功了,接下来使用make命令:
make
等五分钟左右就构建好了。
然后就可以去进行测试了。