cryptobiu/MPC-Benchmark

Build Error

Opened this issue · 4 comments

Hello! I am trying to build this on a Linux Mint 19.2 system (based on the Ubuntu 18.04 LTS codebase).

I've already built libscapi (following the instructions) in my home directory.

When trying to build MPC-Benchmark (following the instructions) I get the following error:

In file included from /home/lindsey/MPC-Benchmark/LowCostConstantRoundMPC/main.cpp:2:
/home/lindsey/MPC-Benchmark/LowCostConstantRoundMPC/include/Party.hpp:41:16: error: ‘IOService’ in namespace ‘osuCrypto’ does not name a type
     osuCrypto::IOService ios_ot;             //used in LibOTe communication
                ^~~~~~~~~
LowCostConstantRoundMPC/CMakeFiles/LowCostConstantRoundMPC.dir/build.make:62: recipe for target 'LowCostConstantRoundMPC/CMakeFiles/LowCostConstantRoundMPC.dir/main.cpp.o' failed
make[2]: *** [LowCostConstantRoundMPC/CMakeFiles/LowCostConstantRoundMPC.dir/main.cpp.o] Error 1
CMakeFiles/Makefile2:200: recipe for target 'LowCostConstantRoundMPC/CMakeFiles/LowCostConstantRoundMPC.dir/all' failed
make[1]: *** [LowCostConstantRoundMPC/CMakeFiles/LowCostConstantRoundMPC.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

I'm pretty sure I have done something wrong, but wanted to post it here for review.

Can you check what is your boost version?

Can you check what is your boost version?

I am using Boost 1.70.0 (compiled from source) and g++ 8.3.0 (from a package manager)

Have I done something wrong? Are there any ideas on this?

Hello @FireElementalNE,

libscapi uses the new version of libOTe. libOTe uses the new version of boost.
The major change that was done in boost is new namespaces.
The object in the error: osuCrypto::IOService ios_ot; is no longer supported in the new versions of boost.
Therefore our implementation should change.
We are working to update it ASAP.

Lior