@@ -23,6 +23,30 @@ sudo () {
23
23
" $@ "
24
24
}
25
25
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
+
26
50
setup-apt-intel-oneapi () {
27
51
# ensure the required packages are installed
28
52
sudo apt update
@@ -106,6 +130,7 @@ case $(uname) in
106
130
case $MPI in
107
131
mpich)
108
132
sudo apt install -y -q mpich libmpich-dev
133
+ hotfix-apt-ubuntu-noble-mpich
109
134
;;
110
135
openmpi)
111
136
sudo apt install -y -q openmpi-bin libopenmpi-dev
0 commit comments