diff --git a/configs/containers/docker-ubuntu-gcc-openmpi.yaml b/configs/containers/docker-ubuntu-gcc-openmpi.yaml index 982c20974..ada0cc8bd 100644 --- a/configs/containers/docker-ubuntu-gcc-openmpi.yaml +++ b/configs/containers/docker-ubuntu-gcc-openmpi.yaml @@ -166,6 +166,7 @@ spack: COPY --from=builder /root/spack_find.out /root/spack_find.out # Set defaults for compilers and build utilities. RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 100 && \ + update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-13 100 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \ update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-13 100 diff --git a/configs/containers/docker-ubuntu-gcc11-openmpi.yaml b/configs/containers/docker-ubuntu-gcc11-openmpi.yaml index d9013e051..495ace234 100644 --- a/configs/containers/docker-ubuntu-gcc11-openmpi.yaml +++ b/configs/containers/docker-ubuntu-gcc11-openmpi.yaml @@ -160,8 +160,7 @@ spack: extra_instructions: pre_build: | # Register spack-stack extension repo - RUN spack repo add $SPACK_ROOT/var/spack/repos/spack-stack --scope defaults && \ - update-alternatives --remove-all cpp && \ + RUN update-alternatives --remove-all cpp && \ update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-11 100 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 && \ @@ -192,27 +191,33 @@ spack: update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-14 100 && \ # Make a non-root user:nonroot / group:nonroot for running MPI useradd -U -k /etc/skel -s /bin/bash -d /home/nonroot -m nonroot --uid 43891 && \ - # Set startup environment variables not set by spack. - echo "ulimit -s unlimited" >> /etc/spack_container_rc.sh && \ + echo "ulimit -s unlimited" >> /home/nonroot/.bashrc && \ + echo "ulimit -v unlimited" >> /home/nonroot/.bashrc && \ + echo "export CC=gcc" >> /home/nonroot/.bashrc && \ + echo "export CXX=g++" >> /home/nonroot/.bashrc && \ + echo "export FC=gfortran" >> /home/nonroot/.bashrc && \ + printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ + mkdir /home/nonroot/.pmix && \ + echo "rmaps_default_mapping_policy=:oversubscribe" >> /home/nonroot/.pmix/mca-params.conf && \ + chown -R nonroot:nonroot /home/nonroot/.gitconfig /home/nonroot/.pmix + # Replicate settings for root user + RUN echo "ulimit -s unlimited" > /etc/spack_container_rc.sh && \ echo "ulimit -v unlimited" >> /etc/spack_container_rc.sh && \ echo "export CC=gcc" >> /etc/spack_container_rc.sh && \ echo "export CXX=g++" >> /etc/spack_container_rc.sh && \ echo "export FC=gfortran" >> /etc/spack_container_rc.sh && \ - # Set necessary environment variables and config for openmpi. + # Also set necessary environment variables for openmpi and jedi-cmake. echo "export OMPI_ALLOW_RUN_AS_ROOT=1" >> /etc/spack_container_rc.sh && \ echo "export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1" >> /etc/spack_container_rc.sh && \ echo "export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe" >> /etc/spack_container_rc.sh && \ echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-*/jedi-cmake-*)" >> /etc/spack_container_rc.sh && \ + # Ensure that the container rc is run by login shells. echo "source /etc/spack_container_rc.sh" >> /etc/bash.bashrc && \ - # More openmpi config. - mkdir -p /root/.pmix && \ - echo "rmaps_default_mapping_policy=:oversubscribe" >> /root/.pmix/mca-params.conf && \ - mkdir -p /home/nonroot/.pmix && \ - echo "rmaps_default_mapping_policy=:oversubscribe" >> /home/nonroot/.pmix/mca-params.conf && \ - chown -R nonroot:nonroot /home/nonroot/.gitconfig /home/nonroot/.pmix && \ - # Git config settings. - printf "[credential]\n helper = cache --timeout=7200\n" >> /home/nonroot/.gitconfig && \ - printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig + printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig && \ + mkdir /root/.pmix && \ + echo "rmaps_default_mapping_policy=:oversubscribe" >> /root/.pmix/mca-params.conf + # Ensure that the container rc is run by non-login shells. + ENV BASH_ENV=/etc/spack_container_rc.sh # Ensure that the container rc is run by non-login shells. ENV BASH_ENV=/etc/spack_container_rc.sh diff --git a/configs/containers/docker-ubuntu-oneapi-impi.yaml b/configs/containers/docker-ubuntu-oneapi-impi.yaml index 4df2a9792..f501d2222 100644 --- a/configs/containers/docker-ubuntu-oneapi-impi.yaml +++ b/configs/containers/docker-ubuntu-oneapi-impi.yaml @@ -155,9 +155,6 @@ spack: - spec: qt@5.15.3 prefix: /usr version: [5.15.3] - sp: - require: - - +pic specs: [] @@ -274,7 +271,7 @@ spack: ENV TZ=Etc/UTC ENV CC=icx ENV CXX=icpx - ENV FC=ifort + ENV FC=ifx build: | # Put output of spack find into a file RUN cd /opt/spack-environment && \ @@ -310,7 +307,7 @@ spack: echo "ulimit -v unlimited" >> /etc/spack_container_rc.sh && \ echo "export CC=icx" >> /etc/spack_container_rc.sh && \ echo "export CXX=icpx" >> /etc/spack_container_rc.sh && \ - echo "export FC=ifort" >> /etc/spack_container_rc.sh && \ + echo "export FC=ifx" >> /etc/spack_container_rc.sh && \ echo "export jedi_cmake_ROOT=$(ls -d /opt/software/linux-*/jedi-cmake-*)" >> /etc/spack_container_rc.sh && \ echo "source /etc/spack_container_rc.sh" >> /etc/bash.bashrc && \ printf "[credential]\n helper = cache --timeout=7200\n" >> /root/.gitconfig && \ diff --git a/configs/containers/specs/jedi-ci.yaml b/configs/containers/specs/jedi-ci.yaml index 4a759b5c5..6ae2ab45b 100644 --- a/configs/containers/specs/jedi-ci.yaml +++ b/configs/containers/specs/jedi-ci.yaml @@ -21,7 +21,6 @@ fms@2024.02, g2@3.5.1, g2tmpl@1.17.0, - gsibec@1.2.1, hdf@4.2.15, hdf5@1.14.5, ip@5.4.0,