github.com/karalabe/go-ethereum@v0.8.5/tests/files/ansible/test-files/docker-cppjit/Dockerfile (about) 1 # adjusted from https://github.com/ethereum/cpp-ethereum/blob/develop/docker/Dockerfile 2 FROM ubuntu:14.04 3 4 ENV DEBIAN_FRONTEND noninteractive 5 RUN apt-get update 6 RUN apt-get upgrade -y 7 8 # Ethereum dependencies 9 RUN apt-get install -qy build-essential g++-4.8 git cmake libboost-all-dev libcurl4-openssl-dev wget 10 RUN apt-get install -qy automake unzip libgmp-dev libtool libleveldb-dev yasm libminiupnpc-dev libreadline-dev scons 11 RUN apt-get install -qy libjsoncpp-dev libargtable2-dev 12 13 # NCurses based GUI (not optional though for a succesful compilation, see https://github.com/ethereum/cpp-ethereum/issues/452 ) 14 RUN apt-get install -qy libncurses5-dev 15 16 # Qt-based GUI 17 # RUN apt-get install -qy qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev 18 19 RUN sudo apt-get -y install software-properties-common 20 21 # LLVM-3.5 22 RUN wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add - 23 RUN echo "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5 main\ndeb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5 main" > /etc/apt/sources.list.d/llvm-trusty.list 24 RUN apt-get update 25 RUN apt-get install -qy llvm-3.5 libedit-dev 26 27 # Fix llvm-3.5 cmake paths 28 RUN mkdir -p /usr/lib/llvm-3.5/share/llvm && ln -s /usr/share/llvm-3.5/cmake /usr/lib/llvm-3.5/share/llvm/cmake 29 30 31 # Ethereum PPA 32 RUN apt-get install -qy software-properties-common 33 RUN add-apt-repository ppa:ethereum/ethereum 34 RUN apt-get update 35 RUN apt-get install -qy libcryptopp-dev libjson-rpc-cpp-dev 36 37 # Build Ethereum (HEADLESS) 38 RUN git clone --depth=1 --branch develop https://github.com/ethereum/cpp-ethereum 39 RUN mkdir -p cpp-ethereum/build 40 RUN cd cpp-ethereum/build && cmake .. -DCMAKE_BUILD_TYPE=Release -DHEADLESS=1 -DEVMJIT=1 && make -j $(cat /proc/cpuinfo | grep processor | wc -l) && make install 41 RUN ldconfig 42 43 ENTRYPOINT ["/cpp-ethereum/build/test/checkRandomTest"] 44