Dockerfile 1.2 KB

123456789101112131415
  1. FROM ubuntu:18.04
  2. ARG DEBIAN_FRONTEND=noninteractive
  3. #the above line is avoid interaction
  4. WORKDIR /root
  5. RUN apt update && apt install -y git build-essential libbsd-dev libssl-dev libboost-all-dev iproute2 iperf iputils-ping wget unzip net-tools wget ocaml libgcrypt20-dev ocaml-findlib opam m4 ocamlbuild numactl time
  6. RUN opam init -y && opam switch 4.06.0 && eval `opam config env` && opam install -y camlp4 ocamlfind ocamlbuild batteries
  7. RUN git clone https://github.com/samee/obliv-c.git && cd obliv-c && git checkout e02e5c590523ef4dae06e167a7fa00037bb3fdaf
  8. RUN cd obliv-c && ./configure && make
  9. RUN git clone https://gitlab.com/neucrypt/floram floram-floram-release && cd floram-floram-release && git checkout cbc6fa1434426096dda1fa567bacba1d7fc8d5b5
  10. COPY bench_oram_readwrite.oc bench_oram.patch parse_logs /root/
  11. RUN cd floram-floram-release && sed -i '4i\OBLIVC_PATH = ~/obliv-c' Makefile && sed -i -e '8s/$/ -D _Float128=double/' Makefile
  12. RUN cd floram-floram-release && sed -i -e '28s/$/ bench_oram_readwrite/' Makefile
  13. RUN cd floram-floram-release/tests && cp /root/bench_oram_readwrite.oc bench_oram_readwrite.oc
  14. RUN cd floram-floram-release/tests && patch -p0 < /root/bench_oram.patch
  15. RUN cd floram-floram-release && make -j`nproc`