- FROM ubuntu:18.04
- ARG DEBIAN_FRONTEND=noninteractive
- #the above line is avoid interaction
- WORKDIR /root
- 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
- RUN opam init -y && opam switch 4.06.0 && eval `opam config env` && opam install -y camlp4 ocamlfind ocamlbuild batteries
- RUN git clone https://github.com/samee/obliv-c.git && cd obliv-c && git checkout e02e5c590523ef4dae06e167a7fa00037bb3fdaf
- RUN cd obliv-c && ./configure && make
- RUN git clone https://gitlab.com/neucrypt/floram floram-floram-release && cd floram-floram-release && git checkout cbc6fa1434426096dda1fa567bacba1d7fc8d5b5
- COPY bench_oram_readwrite.oc bench_oram.patch parse_logs /root/
- RUN cd floram-floram-release && sed -i '4i\OBLIVC_PATH = ~/obliv-c' Makefile && sed -i -e '8s/$/ -D _Float128=double/' Makefile
- RUN cd floram-floram-release && sed -i -e '28s/$/ bench_oram_readwrite/' Makefile
- RUN cd floram-floram-release/tests && cp /root/bench_oram_readwrite.oc bench_oram_readwrite.oc
- RUN cd floram-floram-release/tests && patch -p0 < /root/bench_oram.patch
- RUN cd floram-floram-release && make -j`nproc`
|