Skip to content

Commit 7b80bbd

Browse files
committed
Create Dockerfile
1 parent 1c64107 commit 7b80bbd

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

Dockerfile

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
FROM cimg/openjdk:11.0
2+
3+
# Install dependencies to build HE libraries
4+
RUN apt update
5+
RUN apt install cmake make build-essential g++ clang autoconf javacc patchelf m4 tar lzip libfftw3-dev
6+
RUN wget -c https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
7+
RUN sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
8+
RUN export PATH=$PATH:/usr/local/go/bin
9+
10+
# Resolve all maven project dependencies
11+
RUN mvn dependency:go-offline
12+
13+
# Build T2 compiler and run tests
14+
RUN export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" && mvn package
15+
16+
# Clone HE libraries
17+
RUN .circleci/clone_libs.sh
18+
19+
# Build HE libraries
20+
RUN .circleci/build_libs.sh
21+
22+
# Install HElib v2.2.2
23+
# RUN cd HElib
24+
WORKDIR HElib
25+
RUN make install
26+
RUN ln -sf /usr/local/lib/libntl.so.44 /usr/lib/libntl.so.44
27+
28+
# Install PALISADE v1.11.9
29+
WORKDIR palisade-release/build
30+
RUN make install
31+
RUN ln -sf /usr/local/lib/libPALISADEcore.so.1 /usr/lib/libPALISADEcore.so.1
32+
33+
# Install SEAL 4.1.1
34+
WORKDIR SEAL
35+
RUN cmake --install build
36+
37+
# Install TFHE 1.0.1
38+
WORKDIR tfhe
39+
RUN make install
40+
RUN ln -sf /usr/local/lib/libtfhe-nayuki-avx.so /usr/lib/libtfhe-nayuki-avx.so
41+
RUN ln -sf /usr/local/lib/libtfhe-nayuki-portable.so /usr/lib/libtfhe-nayuki-portable.so
42+
RUN ln -sf /usr/local/lib/libtfhe-spqlios-avx.so /usr/lib/libtfhe-spqlios-avx.so
43+
RUN ln -sf /usr/local/lib/libtfhe-spqlios-fma.so /usr/lib/libtfhe-spqlios-fma.so
44+
45+
# Run T2 tests
46+
RUN mvn test
47+
48+
# # Run HElib tests
49+
# RUN .circleci/test_HElib.sh
50+
51+
# # Run Lattigo tests
52+
# RUN .circleci/test_Lattigo.sh
53+
54+
# # Run SEAL tests
55+
# RUN .circleci/test_SEAL.sh
56+
57+
# # Run TFHE tests
58+
# RUN .circleci/test_TFHE.sh
59+
60+
# # Run PALISADE tests
61+
# RUN .circleci/test_PALISADE.sh

0 commit comments

Comments
 (0)