-
Notifications
You must be signed in to change notification settings - Fork 33
Problem compiling HE-Transformer #64
Description
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?
- 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.
- I tried using the
make check_gccandmake check_clangscripts. However, both failed to compile. - 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 ;)
- 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.
- 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