diff --git a/dockerfiles/minimal/build_scripts/minimal_apt.sh b/dockerfiles/minimal/build_scripts/minimal_apt.sh index ed6e142..c7f21b4 100755 --- a/dockerfiles/minimal/build_scripts/minimal_apt.sh +++ b/dockerfiles/minimal/build_scripts/minimal_apt.sh @@ -9,6 +9,11 @@ set -e #--------------------------------------------------------------------------- apt-get update + +# https://github.com/open-mpi/ompi/issues/13886 +echo "path-include=/usr/share/doc/libprrte-dev/help-*" >> /etc/dpkg/dpkg.cfg.d/excludes +# libprrte-dev gzip + apt-get install -y --no-install-recommends \ apt-utils \ gnupg \ @@ -16,15 +21,19 @@ apt-get install -y --no-install-recommends \ curl \ rsync \ build-essential \ + \ gcc-15 g++-15 \ gcc g++ \ + \ clang-22 \ clang-20 \ + \ make \ cmake \ ccache \ ninja-build \ mold \ + \ iputils-ping \ python3-dev \ python3-pip \ @@ -35,9 +44,14 @@ apt-get install -y --no-install-recommends \ libboost-program-options-dev \ libopenblas-dev \ libxml2-dev \ + \ libhdf5-dev \ libhdf5-openmpi-dev \ + \ libopenmpi-dev \ + gzip \ + libprrte-dev \ + \ libmetis-dev \ libtbb-dev \ libunwind-dev \ @@ -61,6 +75,23 @@ update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 90 #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- +# https://github.com/open-mpi/ompi/issues/13886 +ARCH=`uname -m` +if [ ! -f /usr/lib/${ARCH}-linux-gnu/prrte3/share/prte/help-prun.txt ]; then + # fix a packaging issue: https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/2155666 + mkdir -p /usr/lib/${ARCH}-linux-gnu/prrte3/share/prte + cp /usr/share/doc/libprrte-dev/help-schizo-ompi.txt /usr/lib/${ARCH}-linux-gnu/prrte3/share/prte/ + cp /usr/share/doc/libprrte-dev/help-prun.txt.gz /usr/lib/${ARCH}-linux-gnu/prrte3/share/prte/ + gzip -d /usr/lib/${ARCH}-linux-gnu/prrte3/share/prte/help-prun.txt.gz ; +fi + +# https://github.com/open-mpi/ompi/issues/12517 +echo "export OMPI_MCA_osc=sm" >> /etc/bash.bashrc +echo "export OMPI_MCA_osc=sm" > /etc/profile.d/patch_mpi.sh + +#--------------------------------------------------------------------------- +#--------------------------------------------------------------------------- + # Cleanup rm -rf /var/lib/apt/lists/* rm -rf /var/cache/* diff --git a/dockerfiles/minimal/build_scripts/pip.sh b/dockerfiles/minimal/build_scripts/pip.sh index 5e615bb..3a32d3f 100755 --- a/dockerfiles/minimal/build_scripts/pip.sh +++ b/dockerfiles/minimal/build_scripts/pip.sh @@ -7,10 +7,8 @@ set -e #--------------------------------------------------------------------------- # Installation de PythonNet et de NumPy. -# pip install --break-system-packages \ -# pythonnet \ -# numpy pip install --break-system-packages \ + pythonnet \ numpy # Cleanup diff --git a/dockerfiles/minimal/scripts/config_env.sh b/dockerfiles/minimal/scripts/config_env.sh new file mode 100644 index 0000000..77034a3 --- /dev/null +++ b/dockerfiles/minimal/scripts/config_env.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# Script permettant de configurer l'environnement initial. +# Nécessaire uniquement si /etc/profile et/ou /etc/bash.bashrc ne sont sourcés +# (par exemple avec les options --norc --noprofile). + +#--------------------------------------------------------------------------- +#--------------------------------------------------------------------------- + +export OMPI_MCA_osc=sm +echo "OMPI_MCA_osc=${OMPI_MCA_osc}" + +#--------------------------------------------------------------------------- +#--------------------------------------------------------------------------- + +if [ -f "/root/scripts/config_env_full.sh" ]; then + . /root/scripts/config_env_full.sh +fi