intel / he-transformer

nGraph-HE: Deep learning with Homomorphic Encryption (HE) through Intel nGraph
Apache License 2.0
170 stars 35 forks source link

Problem compiling HE-Transformer #64

Open drucker-nir opened 3 years ago

drucker-nir commented 3 years ago

Hello,

I am trying to build HE-transformer for several days now, but I fail to do so.

I tried using several approaches and every approach seems to take around 5 hours, can you please advise me on the best and fastest way to build HE-Transformer?

What I did?

  1. On a Linux Ubuntu 19, x86-64, platform: I followed the steps listed on the README file directly. I tried using different compilers GCC, clang-9/10/12 but the compilation of (usually Tensorflow) always failed.
  2. I tried using the make check_gcc and make check_clang scripts. However, both failed to compile.
  3. I tried using the dockers of MarbleHE/SoK, these are artifacts of the SoK: Fully Homomorphic Encryption Tools & Compilers paper - no luck. After carefully reading their docker code, I observed that they hacked the HE-Transformer Cmake system. Later on, I noticed in their wiki that -

    nGraphHE... does not compile ;)

  4. I tried building the Ubuntu18 docker on a Linux laptop and also on a Windows laptop with docker support for Linux through VMM - success on both.
  5. Then I tried again following the README instructions. At first, I received:

CMakeFiles/ext_boost.dir/build.make:97: recipe for target 'boost/src/ext_boost-stamp/ext_boost-download' failed make[2]: [boost/src/ext_boost-stamp/ext_boost-download] Error 1 CMakeFiles/Makefile2:420: recipe for target 'CMakeFiles/ext_boost.dir/all' failed make[1]: [CMakeFiles/ext_boost.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... Switched to a new branch '3.4.5'

I reran make install and received

CXX google/protobuf/compiler/csharp/csharp_field_base.lo CXX google/protobuf/compiler/csharp/csharp_repeated_message_field.lo error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received. fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed Traceback (most recent call last): File "/home/he-transformer/build/ext_ngraph_tf/src/ext_ngraph_tf/build_ngtf.py", line 525, in main() File "/home/he-transformer/build/ext_ngraph_tf/src/ext_ngraph_tf/build_ngtf.py", line 324, in main tf_version) File "/home/he-transformer/build/ext_ngraph_tf/src/ext_ngraph_tf/tools/build_utils.py", line 484, in download_repo os.chdir(target_name) FileNotFoundError: [Errno 2] No such file or directory: 'tensorflow' CMakeFiles/ext_ngraph_tf.dir/build.make:85: recipe for target 'ext_ngraph_tf/src/ext_ngraph_tf-stamp/ext_ngraph_tf-build' failed make[2]: [ext_ngraph_tf/src/ext_ngraph_tf-stamp/ext_ngraph_tf-build] Error 1 CMakeFiles/Makefile2:212: recipe for target 'CMakeFiles/ext_ngraph_tf.dir/all' failed make[1]: [CMakeFiles/ext_ngraph_tf.dir/all] Error 2

Rerunning make install again results in:

[ 40%] Completed 'ext_ngraph' [ 40%] Built target ext_ngraph Makefile:135: recipe for target 'all' failed make: *** [all] Error 2

In the next attempts I always got the same error:

ALPN, server did not agree to a protocol Server certificate: subject: CN=.bintray.com start date: Sep 26 00:00:00 2019 GMT expire date: Nov 9 12:00:00 2021 GMT subjectAltName: host "dl.bintray.com" matched cert's ".bintray.com" issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018 SSL certificate verify ok. [5 bytes data] GET /boostorg/release/1.69.0/source/boost_1_69_0.tar.gz HTTP/1.1 Host: dl.bintray.com User-Agent: curl/7.75.0 Accept: / [5 bytes data] Mark bundle as not supporting multiuse HTTP/1.1 403 Forbidden Server: nginx Date: Mon, 24 May 2021 16:32:21 GMT Content-Type: text/plain Content-Length: 10 Connection: keep-alive ETag: "5c408590-a" The requested URL returned error: 403 Closing connection 0 CMakeFiles/ext_boost.dir/build.make:97: recipe for target 'boost/src/ext_boost-stamp/ext_boost-download' failed make[2]: [boost/src/ext_boost-stamp/ext_boost-download] Error 1 CMakeFiles/Makefile2:420: recipe for target 'CMakeFiles/ext_boost.dir/all' failed make[1]: [CMakeFiles/ext_boost.dir/all] Error 2 Makefile:135: recipe for target 'all' failed make: *** [all] Error 2

I would really appreciate help on how to proceed.

Thanks, Nir Drucker

Eyxxxxx commented 2 years ago
  1. problem with the [boost] part might be solved by predownloaded to a file and drag it to the destination file "~\build\boost\src\ext_boost\"

  2. fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: index-pack failed
    Traceback (most recent call last):

    The second part might be solved by changing the download link from https to the SSH