microsoft / SEAL

Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.
https://www.microsoft.com/en-us/research/group/cryptography-research/
MIT License
3.46k stars 694 forks source link

Error when building native/examples. #680

Open GaoSimon opened 4 months ago

GaoSimon commented 4 months ago

When I build native/examples, I get the following errors:

cinwa@ROG8:~/SEAL-main/native/examples$ cmake --build build [ 10%] Linking CXX executable bin/sealexamples /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::reverse_bits(unsigned long*)': batchencoder.cpp:(.text+0x5bd): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(std::vector<unsigned long, std::allocator<unsigned long> > const&, seal::Plaintext&) const': batchencoder.cpp:(.text+0x892): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(std::vector<long, std::allocator<long> > const&, seal::Plaintext&) const': batchencoder.cpp:(.text+0xd8b): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(gsl::span<unsigned long const, 18446744073709551615ul>, seal::Plaintext&) const': batchencoder.cpp:(.text+0x12fe): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(gsl::span<long const, 18446744073709551615ul>, seal::Plaintext&) const': batchencoder.cpp:(.text+0x18ba): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o):batchencoder.cpp:(.text+0x1ec7): more undefined references to `libc_single_threaded' follow /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadST::get()': mempool.cpp:(.text+0x79e): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadST::MemoryPoolHeadST(unsigned long, bool)': mempool.cpp:(.text+0x992): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadMT::MemoryPoolHeadMT(unsigned long, bool)': mempool.cpp:(.text+0xa92): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadMT::get()': mempool.cpp:(.text+0xc97): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_normal(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0x8c0): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: rlwe.cpp:(.text+0xc23): undefined reference to `libc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_uniform_seal_3_5(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0xf4d): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: rlwe.cpp:(.text+0x10b8): undefined reference to `libc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_uniform_seal_3_4(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0x13bd): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o):rlwe.cpp:(.text+0x153a): more undefined references to `libc_single_threaded' follow /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(common.cpp.o): in function seal::util::seal_memzero(void*, unsigned long)': common.cpp:(.text+0xc): undefined reference to__explicit_bzero_chk' collect2: error: ld returned 1 exit status gmake[2]: [CMakeFiles/sealexamples.dir/build.make:226: bin/sealexamples] Error 1 gmake[1]: [CMakeFiles/Makefile2:83: CMakeFiles/sealexamples.dir/all] Error 2 gmake: *** [Makefile:91: all] Error 2

GaoSimon commented 4 months ago

Sorry, this should be the first outputs:

cinwa@ROG8:~/SEAL-main/native/examples$ cmake --build build [ 10%] Building CXX object CMakeFiles/sealexamples.dir/examples.cpp.o [ 20%] Building CXX object CMakeFiles/sealexamples.dir/1_bfv_basics.cpp.o [ 30%] Building CXX object CMakeFiles/sealexamples.dir/2_encoders.cpp.o [ 40%] Building CXX object CMakeFiles/sealexamples.dir/3_levels.cpp.o [ 50%] Building CXX object CMakeFiles/sealexamples.dir/4_bgv_basics.cpp.o [ 60%] Building CXX object CMakeFiles/sealexamples.dir/5_ckks_basics.cpp.o [ 70%] Building CXX object CMakeFiles/sealexamples.dir/6_rotation.cpp.o [ 80%] Building CXX object CMakeFiles/sealexamples.dir/7_serialization.cpp.o [ 90%] Building CXX object CMakeFiles/sealexamples.dir/8_performance.cpp.o [100%] Linking CXX executable bin/sealexamples /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::reverse_bits(unsigned long*)': batchencoder.cpp:(.text+0x5bd): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(std::vector<unsigned long, std::allocator<unsigned long> > const&, seal::Plaintext&) const': batchencoder.cpp:(.text+0x892): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(std::vector<long, std::allocator<long> > const&, seal::Plaintext&) const': batchencoder.cpp:(.text+0xd8b): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(gsl::span<unsigned long const, 18446744073709551615ul>, seal::Plaintext&) const': batchencoder.cpp:(.text+0x12fe): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o): in function seal::BatchEncoder::encode(gsl::span<long const, 18446744073709551615ul>, seal::Plaintext&) const': batchencoder.cpp:(.text+0x18ba): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(batchencoder.cpp.o):batchencoder.cpp:(.text+0x1ec7): more undefined references to `libc_single_threaded' follow /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadST::get()': mempool.cpp:(.text+0x79e): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadST::MemoryPoolHeadST(unsigned long, bool)': mempool.cpp:(.text+0x992): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadMT::MemoryPoolHeadMT(unsigned long, bool)': mempool.cpp:(.text+0xa92): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(mempool.cpp.o): in function seal::util::MemoryPoolHeadMT::get()': mempool.cpp:(.text+0xc97): undefined reference toaligned_alloc' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_normal(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0x8c0): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: rlwe.cpp:(.text+0xc23): undefined reference to `libc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_uniform_seal_3_5(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0xf4d): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: rlwe.cpp:(.text+0x10b8): undefined reference to `libc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o): in function seal::util::sample_poly_uniform_seal_3_4(std::shared_ptr<seal::UniformRandomGenerator>, seal::EncryptionParameters const&, unsigned long*)': rlwe.cpp:(.text+0x13bd): undefined reference tolibc_single_threaded' /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(rlwe.cpp.o):rlwe.cpp:(.text+0x153a): more undefined references to `libc_single_threaded' follow /home/cinwa/anaconda3/envs/sage/bin/../lib/gcc/x86_64-conda-linux-gnu/13.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /usr/local/lib/libseal-4.1.a(common.cpp.o): in function seal::util::seal_memzero(void*, unsigned long)': common.cpp:(.text+0xc): undefined reference to__explicit_bzero_chk' collect2: error: ld returned 1 exit status gmake[2]: [CMakeFiles/sealexamples.dir/build.make:226: bin/sealexamples] Error 1 gmake[1]: [CMakeFiles/Makefile2:83: CMakeFiles/sealexamples.dir/all] Error 2 gmake: *** [Makefile:91: all] Error 2