IBLT-based-PSU运行文档

📅 2026/7/6 14:21:39
IBLT-based-PSU运行文档
地址代码库配置环境Ubuntu20.04首先执行sudo docker build -t iblt-based-psu:latest .提示我没有安装docker。依次执行下面的命令安装sudo apt update sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod ar /etc/apt/keyrings/docker.gpg echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release echo $VERSION_CODENAME) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker sudo docker run hello-world然后再次执行sudo docker build -t iblt-based-psu:latest .系统报错配置docker走代理我的clash在Ubuntu虚拟机里面运行代理端口是7897sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf /dev/null EOF [Service] EnvironmentHTTP_PROXYhttp://127.0.0.1:7897 EnvironmentHTTPS_PROXYhttp://127.0.0.1:7897 EnvironmentNO_PROXYlocalhost,127.0.0.1,::1 EOF sudo systemctl daemon-reload sudo systemctl restart docker配置完成后验证docker是否读到了代理systemctl show --propertyEnvironment docker然后尝试拉取镜像sudo docker pull ubuntu:24.04成功接下来继续执行命令:sudo docker build -t iblt-based-psu:latest .还是报错;原因是虽然我成功拉了ubuntu:24.04但是我在构建时执行的这条命令没有覆盖docker的默认参数所以事实上他还是在用ARG BASE_IMAGEubuntu:25.04 FROM ${BASE_IMAGE}仍然去拉25.04解决办法修改Dockerfile 第 1 行ARG BASE_IMAGEubuntu:24.04 FROM ${BASE_IMAGE}然后再次执行sudo docker build -t iblt-based-psu:latest .再次报错解决办法是把29行之后的\linux-perf删掉即可。继续构建。报错vole构建的时候出了问题缺少一个路径/home/ubuntu/volepsi/include/volePSI/config.h解决办法是在把Dockerfile 第 39 行RUN touch /home/ubuntu/volepsi/include/volePSI/config.h改为RUN mkdir -p /home/ubuntu/volepsi/include/volePSI \ touch /home/ubuntu/volepsi/include/volePSI/config.h继续构建在此报错换个clash节点继续构建完成。接下来执行sudo docker run -it --rm --privileged --cap-addNET_ADMIN iblt-based-psu:latest bash ./build-bench.sh再次报错原因是volepsi没有安装成功。接下来在容器中重新安装这个库执行下面的代码cd /home/ubuntu rm -rf /home/ubuntu/volepsi /home/ubuntu/volepsi-install git clone https://github.com/Visa-Research/volepsi.git /home/ubuntu/volepsi cd /home/ubuntu/volepsi python3 build.py -DVOLE_PSI_ENABLE_BOOSTON --install/home/ubuntu/volepsi-install执行最后一步构建的时候报错原因是boost由于网络原因没有下载完整。执行以下代码解决先清理掉坏掉的boost cd /home/ubuntu/volepsi rm -rf out/boost_1_86_0 rm -f out/boost_1_86_0.tar.gz rm -rf out/build/linux rm -rf out/libOTe/out/build/linux rm -rf out/coproto/out/build/linux 然后手动下载boost cd /home/ubuntu/volepsi/out wget --tries10 --timeout30 \ -O boost_1_86_0.tar.gz \ https://archives.boost.io/release/1.86.0/source/boost_1_86_0.tar.gz tar -xzf boost_1_86_0.tar.gz ls boost_1_86_0/bootstrap.sh如图安装成功接下来重新跑volepsicd /home/ubuntu/volepsi python3 build.py -DVOLE_PSI_ENABLE_BOOSTON --install/home/ubuntu/volepsi-install在此报错其实编译已经成功了只是缺了一个库。依次执行以下代码解决cd /home/ubuntu/volepsi mkdir -p thirdparty rm -rf thirdparty/sparsehash-c11 git clone --depth 1 https://github.com/sparsehash/sparsehash-c11.git thirdparty/sparsehash-c11 ls thirdparty/sparsehash-c11/sparsehash cmake --install out/build/linux接下来继续编译benchmarkrm -rf build ./build-bench.sh编译成功执行测试./build/psu_bench --benchmark-samples 10 [full][n2^14][lan]./build/psu_bench --benchmark-samples 10 [full][n2^18][wan]