diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 47ab4dab8..000000000 --- a/Dockerfile +++ /dev/null @@ -1,102 +0,0 @@ -FROM ubuntu:18.04 - -ENV USER=hermes -RUN useradd -ms /bin/bash $USER -RUN su - $USER -c "touch me" - -RUN apt-get update -q && \ - apt-get install -yq gcc g++ - -RUN apt-get install -y sudo -RUN echo "user ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/$USER && \ - chmod 0440 /etc/sudoers.d/$USER - -RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ - autoconf \ - automake \ - ca-certificates \ - curl \ - environment-modules \ - git \ - build-essential \ - python \ - vi \ - sudo \ - unzip \ - cmake \ - lcov \ - zlib1g-dev \ - libsdl2-dev \ - gfortran - -USER $USER - -ENV HOME=/home/$USER - -ENV PROJECT=$HOME/source -ENV INSTALL_DIR=$HOME/install -ENV SPACK_DIR=$HOME/spack -ENV SDS_DIR=$HOME/sds - -RUN echo $INSTALL_DIR && mkdir -p $INSTALL_DIR - -RUN git clone https://github.com/spack/spack ${SPACK_DIR} -RUN git clone https://xgitlab.cels.anl.gov/sds/sds-repo.git ${SDS_DIR} -RUN git clone https://github.com/HDFGroup/hermes ${PROJECT} - -ENV spack=${SPACK_DIR}/bin/spack - -RUN . ${SPACK_DIR}/share/spack/setup-env.sh - -RUN echo $GITPOD_REPO_ROOT - -RUN $spack repo add ${SDS_DIR} -RUN $spack repo add $PROJECT/ci/hermes - -RUN $spack compiler find - -RUN $spack compiler list - -ENV HERMES_VERSION=master - -ENV HERMES_SPEC="hermes@${HERMES_VERSION}" -RUN $spack install ${HERMES_SPEC} - -RUN $spack view --verbose symlink -i ${INSTALL_DIR} ${HERMES_SPEC} - -RUN mkdir $PROJECT/build -ENV CXXFLAGS="${CXXFLAGS} -std=c++17 -Werror -Wall -Wextra" -ENV PATH="${INSTALL_DIR}/bin:${PATH}" -RUN cd $PROJECT/build && \ - cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \ - -DCMAKE_PREFIX_PATH=${INSTALL_DIR} \ - -DCMAKE_BUILD_RPATH=${INSTALL_DIR}/lib \ - -DCMAKE_INSTALL_RPATH=${INSTALL_DIR}/lib \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_CXX_COMPILER=`which mpicxx` \ - -DCMAKE_C_COMPILER=`which mpicc` \ - -DBUILD_SHARED_LIBS=ON \ - -DHERMES_ENABLE_COVERAGE=ON \ - -DHERMES_INTERCEPT_IO=ON \ - -DHERMES_COMMUNICATION_MPI=ON \ - -DHERMES_BUILD_BUFFER_POOL_VISUALIZER=OFF \ - -DORTOOLS_DIR=${INSTALL_PREFIX} \ - -DHERMES_USE_ADDRESS_SANITIZER=ON \ - -DHERMES_USE_THREAD_SANITIZER=OFF \ - -DHERMES_RPC_THALLIUM=ON \ - -DHERMES_DEBUG_HEAP=OFF \ - -DBUILD_TESTING=ON \ - .. - -RUN cd $PROJECT/build && \ - cmake --build . -- -j - -WORKDIR $HOME - -RUN echo "export PATH=${SPACK_DIR}/bin:$PATH" >> /home/$USER/.bashrc -RUN echo ". ${SPACK_DIR}/share/spack/setup-env.sh" >> /home/$USER/.bashrc -RUN echo "export CFLAGS=-I${INSTALL_DIR}/include" >> /home/$USER/.bashrc -RUN echo "export CXXFLAGS=-I${INSTALL_DIR}/include" >> /home/$USER/.bashrc -RUN echo "export LDFLAGS=-L${INSTALL_DIR}/lib" >> /home/$USER/.bashrc -RUN echo "export LD_LIBRARY_PATH=${INSTALL_DIR}/lib:\$LD_LIBRARY_PATH" >> /home/$USER/.bashrc - diff --git a/adapter/test/stdio/CMakeLists.txt b/adapter/test/stdio/CMakeLists.txt index 24bebe12b..d0c9a3900 100644 --- a/adapter/test/stdio/CMakeLists.txt +++ b/adapter/test/stdio/CMakeLists.txt @@ -45,7 +45,7 @@ set_target_properties(hermes_stdio_adapter_mpi_test PROPERTIES COMPILE_FLAGS "-D mpi_daemon(hermes_stdio_adapter_mpi_test 2 "~[request_size=range-large]" "" 1) mpi_daemon(hermes_stdio_adapter_mpi_test 2 "[request_size=range-large]" "large" 1) if(HERMES_INSTALL_TESTS) - set(STDIO_TESTS stdio_adapter_mapper_test stdio_adapter_mapper_test stdio_adapter_test hermes_stdio_adapter_test stdio_adapter_mpi_test hermes_stdio_adapter_mpi_test) + set(STDIO_TESTS stdio_adapter_mapper_test stdio_adapter_test hermes_stdio_adapter_test stdio_adapter_mpi_test hermes_stdio_adapter_mpi_test) foreach(program ${STDIO_TESTS}) install( TARGETS diff --git a/deps.Dockerfile b/deps.Dockerfile new file mode 100644 index 000000000..bd00a8122 --- /dev/null +++ b/deps.Dockerfile @@ -0,0 +1,73 @@ +FROM ubuntu:18.04 + +ENV USER=hermes +RUN useradd -ms /bin/bash $USER +RUN su - $USER -c "touch me" + +RUN apt-get update -q && \ + apt-get install -yq gcc g++ + +RUN apt-get install -y sudo +RUN echo "${USER} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/$USER && \ + chmod 0440 /etc/sudoers.d/$USER + +RUN cat /etc/sudoers.d/$USER + +RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + ca-certificates \ + curl \ + environment-modules \ + git \ + build-essential \ + python \ + vim \ + sudo \ + unzip \ + cmake \ + lcov \ + zlib1g-dev \ + libsdl2-dev \ + gfortran + +USER $USER + +RUN sudo apt-get update -q + +ENV HOME=/home/$USER + +ENV PROJECT=$HOME/source +ENV INSTALL_DIR=$HOME/install +ENV SPACK_DIR=$HOME/spack +ENV SDS_DIR=$HOME/sds + +RUN echo $INSTALL_DIR && mkdir -p $INSTALL_DIR + +RUN git clone https://github.com/spack/spack ${SPACK_DIR} +RUN git clone https://xgitlab.cels.anl.gov/sds/sds-repo.git ${SDS_DIR} +RUN git clone https://github.com/HDFGroup/hermes ${PROJECT} + + +ENV spack=${SPACK_DIR}/bin/spack + +RUN . ${SPACK_DIR}/share/spack/setup-env.sh + +RUN $spack repo add ${SDS_DIR} +RUN $spack repo add $PROJECT/ci/hermes + +RUN $spack compiler find + +RUN $spack compiler list + +ENV HERMES_VERSION=master + +ENV HERMES_SPEC="hermes@${HERMES_VERSION}" +RUN $spack install --only dependencies ${HERMES_SPEC} + +RUN echo "export PATH=${SPACK_DIR}/bin:$PATH" >> /home/$USER/.bashrc +RUN echo ". ${SPACK_DIR}/share/spack/setup-env.sh" >> /home/$USER/.bashrc + +ENV PATH=${INSTALL_DIR}/bin:$PATH + +WORKDIR $HOME diff --git a/dev.Dockerfile b/dev.Dockerfile new file mode 100644 index 000000000..d443e4fb5 --- /dev/null +++ b/dev.Dockerfile @@ -0,0 +1,23 @@ +FROM hdevarajan92/hermes-dep:latest + +RUN sudo apt-get update -q + +USER $USER + +ENV HOME=/home/$USER + +ENV INSTALL_DIR=$HOME/install + +ENV PROJECT=$HOME/hermes + +RUN $spack install --only package ${HERMES_SPEC} + +RUN echo "spack load --only dependencies ${HERMES_SPEC}" >> /home/$USER/.bashrc +RUN echo "export CC=`which mpicc`" >> /home/$USER/.bashrc +RUN echo "export CXX=`which mpicxx`" >> /home/$USER/.bashrc + +RUN git clone https://github.com/HDFGroup/hermes ${PROJECT} +RUN sh /home/$USER/.bashrc + +RUN mkdir -p $PROJECT/build +WORKDIR $PROJECT/build \ No newline at end of file diff --git a/user.Dockerfile b/user.Dockerfile new file mode 100644 index 000000000..3f1a3c1d3 --- /dev/null +++ b/user.Dockerfile @@ -0,0 +1,21 @@ +FROM hdevarajan92/hermes-dep:latest + +RUN sudo apt-get update -q + +USER $USER + +ENV HOME=/home/$USER + +ENV INSTALL_DIR=$HOME/install + +ENV PROJECT=$HOME/hermes + +RUN $spack install --only package ${HERMES_SPEC} + +RUN echo "spack load ${HERMES_SPEC}" >> /home/$USER/.bashrc +RUN echo "export CC=`which mpicc`" >> /home/$USER/.bashrc +RUN echo "export CXX=`which mpicxx`" >> /home/$USER/.bashrc + +RUN sh /home/$USER/.bashrc + +WORKDIR $HOME \ No newline at end of file