From 8dd286a9823a8016280df6c16737dd2c39c0ab86 Mon Sep 17 00:00:00 2001 From: debris Date: Wed, 20 Jan 2016 16:23:13 +0100 Subject: [PATCH 1/2] Dockerfile --- Dockerfile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..60e032eae --- /dev/null +++ b/Dockerfile @@ -0,0 +1,48 @@ +FROM ubuntu:14.04 + +# install tools and dependencies +RUN apt-get update && \ + apt-get install -y \ + # make + build-essential \ + # add-apt-repository + software-properties-common \ + curl \ + wget \ + git \ + # evmjit dependencies + zlib1g-dev \ + libedit-dev + +# cmake and llvm ppas. then update ppas +RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \ + add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \ + apt-get update && \ + apt-get install -y --force-yes cmake llvm-3.7-dev + +# install evmjit +RUN git clone https://github.com/debris/evmjit && \ + cd evmjit && \ + mkdir build && cd build && \ + cmake .. && make && make install && cd + +# install rocksdb +RUN wget https://github.com/facebook/rocksdb/archive/rocksdb-3.13.1.tar.gz && \ + tar -zxvf rocksdb-3.13.1.tar.gz && \ + cd rocksdb-rocksdb-3.13.1 && \ + make shared_lib && make install && cd + +# install multirust +RUN curl -sf https://raw.githubusercontent.com/brson/multirust/master/blastoff.sh | sh -s -- --yes + +# install nightly and make it default +RUN multirust update nightly && multirust default nightly + +# export rust LIBRARY_PATH +ENV LIBRARY_PATH /usr/local/lib + +# show backtraces +ENV RUST_BACKTRACE 1 + +# run tests synchronously. Temporary workaround for evmjit cache race condition +ENV RUST_TEST_THREADS 1 From 02a7da526e7f2cc7c22130b0080785f1472e6d28 Mon Sep 17 00:00:00 2001 From: debris Date: Thu, 28 Jan 2016 20:36:16 +0100 Subject: [PATCH 2/2] moved Dockerfile to subdirectory, updated rocksdb from 3.13.1 to 4.2, and use rocksdb ppa --- Dockerfile => docker/Dockerfile | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) rename Dockerfile => docker/Dockerfile (68%) diff --git a/Dockerfile b/docker/Dockerfile similarity index 68% rename from Dockerfile rename to docker/Dockerfile index 60e032eae..299596a58 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -14,11 +14,12 @@ RUN apt-get update && \ zlib1g-dev \ libedit-dev -# cmake and llvm ppas. then update ppas +# cmake, llvm and rocksdb ppas. then update ppas RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \ add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \ + add-apt-repository "deb http://ppa.launchpad.net/giskou/librocksdb/ubuntu trusty main" && \ apt-get update && \ - apt-get install -y --force-yes cmake llvm-3.7-dev + apt-get install -y --force-yes cmake llvm-3.7-dev librocksdb # install evmjit RUN git clone https://github.com/debris/evmjit && \ @@ -26,12 +27,6 @@ RUN git clone https://github.com/debris/evmjit && \ mkdir build && cd build && \ cmake .. && make && make install && cd -# install rocksdb -RUN wget https://github.com/facebook/rocksdb/archive/rocksdb-3.13.1.tar.gz && \ - tar -zxvf rocksdb-3.13.1.tar.gz && \ - cd rocksdb-rocksdb-3.13.1 && \ - make shared_lib && make install && cd - # install multirust RUN curl -sf https://raw.githubusercontent.com/brson/multirust/master/blastoff.sh | sh -s -- --yes @@ -43,6 +38,3 @@ ENV LIBRARY_PATH /usr/local/lib # show backtraces ENV RUST_BACKTRACE 1 - -# run tests synchronously. Temporary workaround for evmjit cache race condition -ENV RUST_TEST_THREADS 1