microsoft / SealPIR

Example implementation of the SealPIR protocol
MIT License
139 stars 54 forks source link

fatal error: 'seal/seal.h' file not found #11

Closed devharsh closed 4 years ago

devharsh commented 4 years ago

I have installed SEAL 3.2.0 on macOS Catalina version 10.15.7 and it works fine (Unit tests passed and examples works).

Having issues running SealPIR.

devharsh@Devharshs-MBP SealPIR-master % sudo LDFLAGS="-L/usr/local/lib/" CFLAGS="-I/usr/local/include/" make [ 16%] Building CXX object CMakeFiles/sealpir.dir/pir.cpp.o In file included from /Users/devharsh/Downloads/SealPIR-master/pir.cpp:1: /Users/devharsh/Downloads/SealPIR-master/pir.hpp:3:10: fatal error: 'seal/seal.h' file not found

include "seal/seal.h"

     ^~~~~~~~~~~~~

1 error generated. make[2]: [CMakeFiles/sealpir.dir/pir.cpp.o] Error 1 make[1]: [CMakeFiles/sealpir.dir/all] Error 2 make: *** [all] Error 2

sga001 commented 4 years ago

It seems the compiler cannot find seal.h. Did you compile SEAL 3.2 with ``sudo make install''?

devharsh commented 4 years ago

yes I did install SEAL globally

devharsh@Devharshs-MBP src % sudo make install [100%] Built target seal Install the project... -- Install configuration: "Release" -- Installing: /usr/local/lib/libseal.a -- Up-to-date: /usr/local/lib/cmake/SEAL/SEALTargets.cmake -- Installing: /usr/local/lib/cmake/SEAL/SEALTargets-release.cmake -- Up-to-date: /usr/local/lib/cmake/SEAL/SEALConfig.cmake -- Up-to-date: /usr/local/lib/cmake/SEAL/SEALConfigVersion.cmake -- Up-to-date: /usr/local/include/seal/batchencoder.h ...

I also tried prefixing path in cmake:

devharsh@Devharshs-MBP SealPIR-master % sudo cmake . -DCMAKE_PREFIX_PATH=/usr/local/include/
Password: -- Microsoft SEAL -> Version 3.2.0 detected -- Microsoft SEAL -> Library build type: Static_PIC -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project:

CMAKE_PREFIX_PATH

-- Build files have been written to: /Users/devharsh/Downloads/SealPIR-master

and also tried editing CMakeLists.txt:

target_include_directories(main PUBLIC "usr/local/include")

devharsh commented 4 years ago

Had to edit CMakeLists.txt:

include_directories("/usr/local/include")