Visa-Research / volepsi

Efficient Private Set Intersection base on VOLE
MIT License
98 stars 32 forks source link

build error #68

Open xiansongq opened 1 month ago

xiansongq commented 1 month ago

When I use the command python3 build.py -DVOLE_PSI_ENABLE_BOOST=ON -DVOLE_PSI_ENABLE_GMW=ON -DVOLE_PSI_ENABLE_CPSI=ON -DVOLE_PSI_ENABLE_OPPRF=ON to compile on Ubuntu 20.04, the following error is output:

In file included from /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/task.h:20, from /home/xsqian/file/project/taihang/volepsi/out/macoro/tests/task_tests.cpp:1: /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/macros.h:220:33: error: request for member ‘destroy’ in ‘_macoro_frame_->’, which is of non-class type ‘int’ 220 | _macoro_frame_->destroy(_macoro_frame_); \ | ^~~~~~~ /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/sync_wait.h:173:25: note: in expansion of macro ‘MC_END’ 173 | MC_END(); | ^~~~~~ In file included from /home/xsqian/file/project/taihang/volepsi/out/macoro/tests/task_tests.cpp:3: /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/sync_wait.h: At global scope: /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/sync_wait.h:180:57: error: ‘std::source_location’ has not been declared 180 | decltype(auto) sync_wait(Awaitable&& awaitable, std::source_location loc = std::source_location::current()) | ^~~ /home/xsqian/file/project/taihang/volepsi/out/macoro/macoro/../macoro/sync_wait.h:180:89: error: ‘std::source_location’ has not been declared 180 | decltype(auto) sync_wait(Awaitable&& awaitable, std::source_location loc = std::source_location::current()) | ^~~~~~~~~~~~~~~ make[2]: *** [tests/CMakeFiles/macoroTests.dir/build.make:104:tests/CMakeFiles/macoroTests.dir/task_tests.cpp.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:160:tests/CMakeFiles/macoroTests.dir/all] 错误 2 make: *** [Makefile:136:all] 错误 2 -- Configuring incomplete, errors occurred! See also "/home/xsqian/file/project/taihang/volepsi/out/coproto/out/build/linux/CMakeFiles/CMakeOutput.log". CMake Error at thirdparty/fetch.cmake:28 (message): Build failed (2). Call Stack (most recent call first): thirdparty/getMacoro.cmake:44 (run) cmake/coprotoFindDeps.cmake:85 (include) CMakeLists.txt:21 (include)

I am using gcc-11, g++-11, and cmake 3.22.0. Looking forward to your reply. Thank you!

ladnir commented 1 month ago

as a temporary fix, if you go to out/coproto/thridparty/getMacoro.cmake, you should see a commit hash at the top, try changing this to cfd155c11bd52c000c0c1afd6f03ed247c49610e and then building.

Im in the process of upgrading dependencies and it seems the code is incorrectly pulling the latest macoro version.

eattomatoeveryday commented 1 month ago

as a temporary fix, if you go to out/coproto/thridparty/getMacoro.cmake, you should see a commit hash at the top, try changing this to cfd155c11bd52c000c0c1afd6f03ed247c49610e and then building.

Im in the process of upgrading dependencies and it seems the code is incorrectly pulling the latest macoro version.

I have another question

[ 33%] Building CXX object tests/CMakeFiles/macoroTests.dir/task_tests.cpp.o
In file included from /home/rui/Coding/PSI/volepsi/out/macoro/macoro/../macoro/task.h:21,
                 from /home/rui/Coding/PSI/volepsi/out/macoro/tests/task_tests.cpp:1:
/home/rui/Coding/PSI/volepsi/out/macoro/macoro/../macoro/trace.h:16:22: error: ‘source_location’ in namespace ‘std’ does not name a type
   16 |                 std::source_location m_location;
      |                      ^~~~~~~~~~~~~~~
/home/rui/Coding/PSI/volepsi/out/macoro/macoro/../macoro/trace.h:16:17: note: ‘std::source_location’ is only available from C++20 onwards
   16 |                 std::source_location m_location;
      |                 ^~~

I have tried this way,but the hash seems the same as you post and it still doesn't work

ladnir commented 1 month ago

ok, ill take a closer look.

ladnir commented 1 month ago

ok, so line 42 of getMacoro.cmake is commented out. Uncomment it. and try again.

eattomatoeveryday commented 1 month ago

ok, so line 42 of getMacoro.cmake is commented out. Uncomment it. and try again.

it works, thanks a lot!

ladnir commented 1 month ago

great, a long term fix is coming soon.

ladnir commented 1 month ago

Might be resolved now. Trying to fix it from a phone 😂

xiansongq commented 1 month ago

Yes, the issue has been resolved, thank you