Skip to content

Commit 50eb438

Browse files
committed
Hotfix broken MPICH package in Ubuntu 24.04 LTS
1 parent 4a16f37 commit 50eb438

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,31 @@ jobs:
2424
os:
2525
- ubuntu-24.04
2626
- ubuntu-22.04
27+
- ubuntu-24.04-arm
28+
- ubuntu-22.04-arm
29+
- macos-15
2730
- macos-14
2831
- macos-13
32+
- windows-2025
2933
- windows-2022
3034
- windows-2019
3135
exclude:
3236
- os: ubuntu-24.04
3337
mpi: msmpi
3438
- os: ubuntu-22.04
3539
mpi: msmpi
40+
- os: ubuntu-24.04-arm
41+
mpi: intelmpi
42+
- os: ubuntu-22.04-arm
43+
mpi: intelmpi
44+
- os: ubuntu-24.04-arm
45+
mpi: msmpi
46+
- os: ubuntu-22.04-arm
47+
mpi: msmpi
48+
- os: macos-15
49+
mpi: intelmpi
50+
- os: macos-15
51+
mpi: msmpi
3652
- os: macos-14
3753
mpi: intelmpi
3854
- os: macos-14
@@ -41,6 +57,10 @@ jobs:
4157
mpi: intelmpi
4258
- os: macos-13
4359
mpi: msmpi
60+
- os: windows-2025
61+
mpi: mpich
62+
- os: windows-2025
63+
mpi: openmpi
4464
- os: windows-2022
4565
mpi: mpich
4666
- os: windows-2022

setup-mpi.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
34+
repourl=https://ports.ubuntu.com/ubuntu-ports
35+
package=libmpich12_4.2.0-14_arm64.deb
36+
;;
37+
x86_64)
38+
repourl=https://archive.ubuntu.com/ubuntu
39+
package=libmpich12_4.2.0-14_amd64.deb
40+
;;
41+
esac
42+
curl -sSO $repourl/pool/universe/m/mpich/$package
43+
tmpdir=/tmp/mpich
44+
libdir=/usr/lib/$(arch)-linux-gnu
45+
dpkg-deb -x $package $tmpdir
46+
sudo cp $tmpdir$libdir/libmpich*.so.12.*.* $libdir
47+
rm -rf $package $tmpdir
48+
}
49+
2650
setup-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

Comments
 (0)