这些国外大佬的代码没有一个能顺利跑下来的,可能随着依赖库的更新,源码也需要随之更改。
第一步 OPPRF-PSI依赖环境需要自行配置
在Ubuntu 20中可以完成,更低的版本我没有尝试

关于这些环境的配置这里就不做赘述了,下面是我在跑OPPRF中遇到的各种坑
第二步 克隆OPPRF-PSI库
https://github.com/encryptogroup/OPPRF-PSI.git --recursive
–recursive 是循环下载extern中的依赖库,克隆完成后一定要检查extern中的库是否完整,比如ABY,进入ABY文件夹检查ABY所依赖的extern中的库是不是也下载完毕。因为网络问题,可能下载会出现失败,哪个库失败重新下载哪个库就行。
第三步 开始配置OPPRF-PSI
- 进入OPPRF-PSI
cd OPPRF-PSI - 创建build文件夹并进入
mkdir build && cd build - cmake编译
cmake [OPTIONS] -DCMAKE_BUILD_TYPE=[Release|Debug] …
文档中[OPTIONS]给了两种执行策略
-DPSI_ANALYTICS_BUILD_TESTS=ONto compile tests
-DPSI_ANALYTICS_BUILD_EXAMPLE=ONto compile an example with circuit-based threshold checking.
这里我使用了第一种策略,并使用-DCMAKE_BUILD_TYPE=Debug测试
cmake -DPSI_ANALYTICS_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug ..
报错:

这里是因为openssl和libssl-dev的错误,可以去网上搜索解决,我的建议是卸载自带openssl从官网下载openssl进行自己安装配置。 - make 进行编译
make
报错:

这是源码中的一个问题,ABY编译时将cmake_constants.h文件放到了OPPRF-PSI/build/extern/ABY/extern/ENCRYPTO_utils/include这个文件夹下,我们将cmake_constants.h文件复制到constants.h同级目录下

将这里改成
#include "cmake_constants.h"
然后重新make就可以了
可以还会有其他小伙伴遇到各种报错,咱们评论区探讨
博客讲述了在Ubuntu20.04中配置OPPRF-PSI项目环境的过程,包括依赖库的安装和源码克隆。在编译过程中遇到了openssl和libssl-dev的问题,以及ABY库的cmake_constants.h文件位置错误。解决方案包括手动安装openssl,调整cmake_constants.h文件的位置。博主建议遇到类似问题的读者在评论区交流。

被折叠的 条评论
为什么被折叠?



