From c612b367005d4207f0f36085dfe73bd15af04345 Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Mon, 15 Jun 2026 12:35:25 +0200 Subject: [PATCH 1/2] [Minimal] Patch OpenMPI -- Add Pythonnet --- .../minimal/build_scripts/minimal_apt.sh | 30 +++++++++++++++++++ dockerfiles/minimal/build_scripts/pip.sh | 4 +-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/dockerfiles/minimal/build_scripts/minimal_apt.sh b/dockerfiles/minimal/build_scripts/minimal_apt.sh index ed6e142..5ff8879 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,22 @@ 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 + +#--------------------------------------------------------------------------- +#--------------------------------------------------------------------------- + # 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 From 78e141131578c769b3fc6882cef50abc1d41e79f Mon Sep 17 00:00:00 2001 From: Alexandre l'Heritier Date: Tue, 16 Jun 2026 11:48:35 +0200 Subject: [PATCH 2/2] [Minimal] Add env var for login bash --- .../minimal/build_scripts/minimal_apt.sh | 1 + dockerfiles/minimal/scripts/config_env.sh | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 dockerfiles/minimal/scripts/config_env.sh diff --git a/dockerfiles/minimal/build_scripts/minimal_apt.sh b/dockerfiles/minimal/build_scripts/minimal_apt.sh index 5ff8879..c7f21b4 100755 --- a/dockerfiles/minimal/build_scripts/minimal_apt.sh +++ b/dockerfiles/minimal/build_scripts/minimal_apt.sh @@ -87,6 +87,7 @@ 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 #--------------------------------------------------------------------------- #--------------------------------------------------------------------------- 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