encryptogroup / MOTION2NX

A framework for generic hybrid two-party computation and private inference with neural networks
MIT License
29 stars 16 forks source link

fatal error: 'parallel/algorithm' file not found #9

Open Cryptographer63 opened 2 years ago

Cryptographer63 commented 2 years ago

My compilation environment is: os:macos 12.3.1 cpu:Intel i7 Compiler: Apple clang version 13.0.0 (clang-1300.0.27.3)

1 warning generated.
[ 29%] Building CXX object src/motioncore/CMakeFiles/motion.dir/crypto/base_ots/ot_hl17.cpp.o
[ 29%] Building CXX object src/motioncore/CMakeFiles/motion.dir/crypto/blake2b.cpp.o
[ 30%] Building CXX object src/motioncore/CMakeFiles/motion.dir/crypto/bmr_provider.cpp.o
[ 30%] Building CXX object src/motioncore/CMakeFiles/motion.dir/crypto/curve25519/mycurve25519.cpp.o
[ 30%] Building CXX object src/motioncore/CMakeFiles/motion.dir/crypto/garbling/half_gates.cpp.o
/Users/zhangshuguang/Desktop/MOTION2NX-motion2nx/src/motioncore/crypto/garbling/half_gates.cpp:25:10: fatal error: 'parallel/algorithm' file not found
#include <parallel/algorithm>
         ^~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [src/motioncore/CMakeFiles/motion.dir/crypto/garbling/half_gates.cpp.o] Error 1
make[1]: *** [src/motioncore/CMakeFiles/motion.dir/all] Error 2
make: *** [all] Error 2
lenerd commented 1 year ago

The parallel/algorithm header is part of GNU libstdc++. See here. If you are on macos, then I guess you are using libc++, which might not contain these non-standard APIs. Maybe the code can be updated to use standardized parallel algorithms from C++17. Not sure how the state of implementations is, though.