osu-crypto / libPSI

A repository for private set intersection.
Other
168 stars 47 forks source link

Building Errors #13

Closed liorko87 closed 4 years ago

liorko87 commented 4 years ago

I followed the install instructions and got this error: error: static assertion failed: ENABLE_SIMPLESTOT flag does not match with libOTe

I compiled using this command: cmake . -DENABLE_MIRACL=ON && make

When I compiled using the same flags as I compiled libOTe as suggested at #9, I received another error: Failed to find libSimplestOT.a at: libPSI/../libOTe//lib/ I compiled libOTe by: cmake . -DENABLE_MIRACL=ON -DENABLE_SIMPLESTOT=ON

OS Version: Ubuntu 18.04 Compiler: GCC 8.4.0

ladnir commented 4 years ago

If you build libOTe with -D ENABLE_SIMPLESTOT=ON then you need to use the same flag with libPSI. So call

cmake . -DENABLE_MIRACL=ON -DENABLE_SIMPLESTOT=ON && make

in both the libOTe directory AND the libPSI directory.

liorko87 commented 4 years ago

I build with the same cmake command and got the same error as I stated above:

Failed to find libSimplestOT.a at: libPSI/../libOTe//lib/

ladnir commented 4 years ago

oh, sorry, my explanation was a bit off. In libOTe you need to use -DENABLE_SIMPLESTOT_ASM=ON and in libPSI use -DENABLE_SIMPLESTOT=ON.

liorko87 commented 4 years ago

I compiled as you said. libOTe compiled successfully. At libPSI I got the following error:

[ 94%] Building CXX object frontend/CMakeFiles/frontend.exe.dir/fileBasedPSI.cpp.o
/home/liork/libPSI/frontend/fileBasedPSI.cpp: In function ‘void padSmallSet(std::vector<__vector(2) long long int>&, osuCrypto::u64&, const osuCrypto::CLP&)’:
/home/liork/libPSI/frontend/fileBasedPSI.cpp:168:4: error: ‘PRNG’ was not declared in this scope
    PRNG prng(sysRandomSeed());

EDIT: I have boost installed at global position at /usr/include/boost. In order to create correctly cmake files I have to disable the if statement at the cmake file (line 91) after I got this error: Could NOT find Boost: missing: system thread (found /usr/lib/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0")) At libOTe it compiled successfully.

ladnir commented 4 years ago

OK, let me update the library some. Seems things have gotten a bit out of date.

ladnir commented 4 years ago

Just pushed an update. Try now.

You will need to use -DENABLE_SIMPLESTOT_ASM=ON in both libraries now as opposed to -DENABLE_SIMPLESTOT=ON.

liorko87 commented 4 years ago

I compiled using the flags as you said (-DENABLE_MIRACL=ON -DENABLE_SIMPLESTOT_ASM=ON) and the same error appears:

/home/liork/libPSI/frontend/fileBasedPSI.cpp:168:4: error: ‘PRNG’ was not declared in this scope
    PRNG prng(sysRandomSeed());

At the cmake log I got this warning:

CMake Warning:
  Manually-specified variables were not used by the project:

    ENABLE_SIMPLESTOT_ASM
ladnir commented 4 years ago

You are not on the lastest commit... I can see this because that PRNG line is now on the next line (169).

https://github.com/osu-crypto/libPSI/blob/master/frontend/fileBasedPSI.cpp#L169