diff --git a/tools/docker/Dockerfile.test_gcc4.8 b/tools/docker/Dockerfile.test_gcc4.8 new file mode 100644 index 0000000000..cfb29a57af --- /dev/null +++ b/tools/docker/Dockerfile.test_gcc4.8 @@ -0,0 +1,19 @@ +FROM ubuntu:18.04 + +# author: Ole Schuett + +WORKDIR /workspace + +COPY ./scripts/install_basics.sh . +RUN ./install_basics.sh + +COPY ./scripts/install_ubuntu_toolchain.sh . +RUN ./install_ubuntu_toolchain.sh 4.8 + +COPY ./scripts/install_regtest.sh . +RUN ./install_regtest.sh local ssmp + +COPY ./scripts/ci_entrypoint.sh ./scripts/test_regtest.sh ./ +CMD ["./ci_entrypoint.sh", "./test_regtest.sh", "local", "ssmp"] + +#EOF diff --git a/tools/docker/Dockerfile.test_gcc5 b/tools/docker/Dockerfile.test_gcc5 new file mode 100644 index 0000000000..252cb11a19 --- /dev/null +++ b/tools/docker/Dockerfile.test_gcc5 @@ -0,0 +1,19 @@ +FROM ubuntu:18.04 + +# author: Ole Schuett + +WORKDIR /workspace + +COPY ./scripts/install_basics.sh . +RUN ./install_basics.sh + +COPY ./scripts/install_ubuntu_toolchain.sh . +RUN ./install_ubuntu_toolchain.sh 5 + +COPY ./scripts/install_regtest.sh . +RUN ./install_regtest.sh local ssmp + +COPY ./scripts/ci_entrypoint.sh ./scripts/test_regtest.sh ./ +CMD ["./ci_entrypoint.sh", "./test_regtest.sh", "local", "ssmp"] + +#EOF diff --git a/tools/docker/Dockerfile.test_gcc6 b/tools/docker/Dockerfile.test_gcc6 new file mode 100644 index 0000000000..20a698678d --- /dev/null +++ b/tools/docker/Dockerfile.test_gcc6 @@ -0,0 +1,19 @@ +FROM ubuntu:18.04 + +# author: Ole Schuett + +WORKDIR /workspace + +COPY ./scripts/install_basics.sh . +RUN ./install_basics.sh + +COPY ./scripts/install_ubuntu_toolchain.sh . +RUN ./install_ubuntu_toolchain.sh 6 + +COPY ./scripts/install_regtest.sh . +RUN ./install_regtest.sh local ssmp + +COPY ./scripts/ci_entrypoint.sh ./scripts/test_regtest.sh ./ +CMD ["./ci_entrypoint.sh", "./test_regtest.sh", "local", "ssmp"] + +#EOF diff --git a/tools/docker/Dockerfile.test_gcc7 b/tools/docker/Dockerfile.test_gcc7 new file mode 100644 index 0000000000..462666d011 --- /dev/null +++ b/tools/docker/Dockerfile.test_gcc7 @@ -0,0 +1,19 @@ +FROM ubuntu:18.04 + +# author: Ole Schuett + +WORKDIR /workspace + +COPY ./scripts/install_basics.sh . +RUN ./install_basics.sh + +COPY ./scripts/install_ubuntu_toolchain.sh . +RUN ./install_ubuntu_toolchain.sh 7 + +COPY ./scripts/install_regtest.sh . +RUN ./install_regtest.sh local ssmp + +COPY ./scripts/ci_entrypoint.sh ./scripts/test_regtest.sh ./ +CMD ["./ci_entrypoint.sh", "./test_regtest.sh", "local", "ssmp"] + +#EOF diff --git a/tools/docker/Dockerfile.test_gcc8 b/tools/docker/Dockerfile.test_gcc8 new file mode 100644 index 0000000000..8609145cbe --- /dev/null +++ b/tools/docker/Dockerfile.test_gcc8 @@ -0,0 +1,19 @@ +FROM ubuntu:18.04 + +# author: Ole Schuett + +WORKDIR /workspace + +COPY ./scripts/install_basics.sh . +RUN ./install_basics.sh + +COPY ./scripts/install_ubuntu_toolchain.sh . +RUN ./install_ubuntu_toolchain.sh 8 + +COPY ./scripts/install_regtest.sh . +RUN ./install_regtest.sh local ssmp + +COPY ./scripts/ci_entrypoint.sh ./scripts/test_regtest.sh ./ +CMD ["./ci_entrypoint.sh", "./test_regtest.sh", "local", "ssmp"] + +#EOF diff --git a/tools/docker/Dockerfile.test_ubuntu b/tools/docker/Dockerfile.test_ubuntu index f07b39faa6..8609145cbe 100644 --- a/tools/docker/Dockerfile.test_ubuntu +++ b/tools/docker/Dockerfile.test_ubuntu @@ -8,7 +8,7 @@ COPY ./scripts/install_basics.sh . RUN ./install_basics.sh COPY ./scripts/install_ubuntu_toolchain.sh . -RUN ./install_ubuntu_toolchain.sh +RUN ./install_ubuntu_toolchain.sh 8 COPY ./scripts/install_regtest.sh . RUN ./install_regtest.sh local ssmp diff --git a/tools/docker/scripts/install_basics.sh b/tools/docker/scripts/install_basics.sh index 537065222b..41cf8c1ad2 100755 --- a/tools/docker/scripts/install_basics.sh +++ b/tools/docker/scripts/install_basics.sh @@ -13,6 +13,7 @@ apt-get install -y --no-install-recommends \ unzip \ less \ make \ + cmake \ rsync rm -rf /var/lib/apt/lists/* diff --git a/tools/docker/scripts/install_ubuntu_toolchain.sh b/tools/docker/scripts/install_ubuntu_toolchain.sh index c0e998e264..c943e50b45 100755 --- a/tools/docker/scripts/install_ubuntu_toolchain.sh +++ b/tools/docker/scripts/install_ubuntu_toolchain.sh @@ -2,17 +2,38 @@ # author: Ole Schuett +if (( $# != 1 )) ; then + echo "Usage: install_ubuntu_toolchain.sh " + exit 1 +fi + +GCC_VERSION=$1 + # install Ubuntu packages apt-get update apt-get install -y --no-install-recommends \ - build-essential \ - gfortran \ + gcc-${GCC_VERSION} \ + g++-${GCC_VERSION} \ + gfortran-${GCC_VERSION} \ + pkg-config \ fftw3-dev \ libopenblas-dev \ liblapack-dev \ - libint-dev + libint-dev \ + libgsl-dev \ + libhdf5-dev rm -rf /var/lib/apt/lists/* +# create links +ln -sf gcc-${GCC_VERSION} /usr/bin/gcc +ln -sf g++-${GCC_VERSION} /usr/bin/g++ +ln -sf gfortran-${GCC_VERSION} /usr/bin/gfortran + +# json-fortran does not compile with gcc 4.8.5. +if [[ "$GCC_VERSION" == "4.8" ]] ; then + EXTRA_TOOLCHAIN_OPTIONS="--with-sirius=no --with-json-fortran=no" +fi + # build toolchain relying mostly on ubuntu packages cp -r /workspace/cp2k/tools/toolchain /opt/cp2k-toolchain/ cd /opt/cp2k-toolchain/ @@ -25,13 +46,11 @@ cd /opt/cp2k-toolchain/ --with-openblas=system \ --with-reflapack=system \ --with-libint=system \ + --with-gsl=system \ + --with-hdf5=system \ --with-libxc=install \ --with-libxsmm=install \ - --with-sirius=no \ - --with-gsl=no \ - --with-spglib=no \ - --with-hdf5=no \ - --with-json-fortran=no + ${EXTRA_TOOLCHAIN_OPTIONS} rm -rf ./build #EOF