Huelse / SEAL-Python

Microsoft SEAL 4.X For Python
MIT License
310 stars 66 forks source link

python3 setup.py install报错 #61

Closed R4v3nl0 closed 2 years ago

R4v3nl0 commented 3 years ago

抱歉我可能又要来提问了…… 我在使用Ubuntu 20.04安装seal时,在执行python3 setup.py install或执行python3 setup.py build_ext -i后均产生报错error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

我尝试了很多办法也无法去解决这个问题……在issue中找到了类似的问题,不过他是clang并且那个issue并没有解决emmmm

不知道您是否找到了解决方案呢?虽然我觉得我自己去回退版本可能是一个好的选择……

R4v3nl0 commented 3 years ago

按照指示cmake出example后能够正常运行……

abai@abai:~/SEAL-Python/SEAL/build/bin$ ./sealexamples
Microsoft SEAL version: 3.6.5
+---------------------------------------------------------+
| The following examples should be executed while reading |
| comments in associated files in native/examples/.       |
+---------------------------------------------------------+
| Examples                   | Source Files               |
+----------------------------+----------------------------+
| 1. BFV Basics              | 1_bfv_basics.cpp           |
| 2. Encoders                | 2_encoders.cpp             |
| 3. Levels                  | 3_levels.cpp               |
| 4. CKKS Basics             | 4_ckks_basics.cpp          |
| 5. Rotation                | 5_rotation.cpp             |
| 6. Serialization           | 6_serialization.cpp        |
| 7. Performance Test        | 7_performance.cpp          |
+----------------------------+----------------------------+
[      0 MB] Total allocation from the memory pool

> Run example (1 ~ 7) or exit (0):
Huelse commented 3 years ago

Have you apt-get install python3-dev? it may caused by the dev environment or something else.

R4v3nl0 commented 3 years ago

Have you apt-get install python3-dev? it may caused by the dev environment or something else.

I've done this in the beginning, so I can't figure out why.

Huelse commented 3 years ago

what about your python dev version? like python-3.9-dev, and is there any more error detail?

R4v3nl0 commented 3 years ago

what about your python dev version? like python-3.9-dev, and is there any more error detail?

python3-dev version is 3.8.2-0ubuntu2 when I compile, there are only two errors:

  1. src/wrapper.cpp:486:104: error: no match for call to ‘(const pybind11::detail::overload_cast_impl<seal::Ciphertext&>) (<unresolved overloaded function type>)’
    486 | rload_cast<Ciphertext &>(&Evaluator::transform_to_ntt_inplace))
      |                                                              ^
  2. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Huelse commented 3 years ago

I see, just comment out line 486 and rebuild, or rewrite this function by lambda, we will fix it later.

R4v3nl0 commented 3 years ago

I see, just comment out line 486 and rebuild, or rewrite this function by lambda, we will fix it later.

I tried your suggestion, but there were new mistakes:

src/wrapper.cpp: In function ‘void pybind11_init_seal(pybind11::module_&)’:
src/wrapper.cpp:409:107: error: no match for call to ‘(const pybind11::detail::overload_cast_impl<seal::Plaintext&>) (<unresolved overloaded function type>)’
  409 | load_cast<Plaintext &>(&Evaluator::mod_switch_to_next_inplace))
      |
src/wrapper.cpp:423:112: error: no match for call to ‘(const pybind11::detail::overload_cast_impl<seal::Plaintext&, std::array<long unsigned int, 4> >) (<unresolved overloaded function type>)’
  423 | Plaintext &, parms_id_type>(&Evaluator::mod_switch_to_inplace))
      |

the old problems still exist error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Huelse commented 3 years ago

It's working fine in my workspace, which is similar to yours. The problem is probably caused by the pybind11 module, attention to git submodule update --remote, it's optional. So I suggest delete the pybind11 folder and reinit it.