Dockerfile 1.2 KB

1234567891011121314151617
  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
  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
  8. RUN apt-get install -y ocamlbuild
  9. RUN cd obliv-c && ./configure && make
  10. RUN wget https://gitlab.com/neucrypt/floram/-/archive/floram-release/floram-floram-release.zip && unzip floram-floram-release.zip
  11. COPY bench_oram_readwrite.oc bench_oram.patch /root/
  12. RUN cd floram-floram-release && sed -i '4i\OBLIVC_PATH = ~/obliv-c' Makefile && sed -i -e '8s/$/ -D _Float128=double/' Makefile
  13. RUN cd floram-floram-release && sed -i -e '28s/$/ bench_oram_readwrite/' Makefile
  14. RUN cd floram-floram-release/tests && cp /root/bench_oram_readwrite.oc bench_oram_readwrite.oc
  15. RUN cd floram-floram-release/tests && patch -p0 < /root/bench_oram.patch
  16. RUN cd floram-floram-release && make -j`nproc`
  17. RUN apt install -y numactl