@@ -23,6 +23,30 @@ sudo () {
2323 " $@ "
2424}
2525
26+ hotfix-apt-ubuntu-noble-mpich () {
27+ grep -q ' ID=ubuntu' /etc/os-release || return 0
28+ grep -q ' VERSION_CODENAME=noble' /etc/os-release || return 0
29+ command -v curl > /dev/null || apt install -y -q curl
30+ echo " Hotfix broken MPICH package in Ubuntu 24.04 LTS"
31+ echo " https://bugs.launchpad.net/ubuntu/+source/mpich/+bug/2072338"
32+ case " $( arch) " in
33+ aarch64) arch=arm64 repo=https://ports.ubuntu.com/ubuntu-ports;;
34+ x86_64) arch=amd64 repo=https://archive.ubuntu.com/ubuntu;;
35+ esac
36+ libucx0=libucx0_1.17.0+ds-3build1_$arch .deb
37+ libmpich12=libmpich12_4.2.0-14_$arch .deb
38+ curl -sSO $repo /pool/universe/u/ucx/$libucx0
39+ curl -sSO $repo /pool/universe/m/mpich/$libmpich12
40+ tmpdir=$( mktemp -d)
41+ dpkg-deb -x $libucx0 $tmpdir
42+ dpkg-deb -x $libmpich12 $tmpdir
43+ libdir=/usr/lib/$( arch) -linux-gnu
44+ sudo cp -r $tmpdir$libdir /ucx $libdir
45+ sudo cp $tmpdir$libdir /libuc[mpst]* .so.0.* .* $libdir
46+ sudo cp $tmpdir$libdir /libmpich* .so.12.* .* $libdir
47+ rm -rf $tmpdir $libucx0 $libmpich12
48+ }
49+
2650setup-apt-intel-oneapi () {
2751 # ensure the required packages are installed
2852 sudo apt update
@@ -106,6 +130,7 @@ case $(uname) in
106130 case $MPI in
107131 mpich)
108132 sudo apt install -y -q mpich libmpich-dev
133+ hotfix-apt-ubuntu-noble-mpich
109134 ;;
110135 openmpi)
111136 sudo apt install -y -q openmpi-bin libopenmpi-dev
0 commit comments