@@ -30,6 +30,26 @@ if [[ "$(id -u)" -ne 0 ]]; then
3030 exit 1
3131fi
3232
33+ arch=" $( dpkg --print-architecture) "
34+ case " ${arch} " in
35+ amd64)
36+ mpich_id=" mpich-noble-4.2.0-5.1"
37+ lib_id=" libmpich12-noble-4.2.0-5.1"
38+ mpich_deb=" mpich_4.2.0-5.1_amd64.deb"
39+ lib_deb=" libmpich12_4.2.0-5.1_amd64.deb"
40+ ;;
41+ arm64)
42+ mpich_id=" mpich-noble-4.2.0-5.1-arm64"
43+ lib_id=" libmpich12-noble-4.2.0-5.1-arm64"
44+ mpich_deb=" mpich_4.2.0-5.1_arm64.deb"
45+ lib_deb=" libmpich12_4.2.0-5.1_arm64.deb"
46+ ;;
47+ * )
48+ echo " error: unsupported architecture '${arch} ' for pinned mpich (need amd64 or arm64)" >&2
49+ exit 1
50+ ;;
51+ esac
52+
3353WORKDIR=" $( mktemp -d -t nrn-mpich-noble.XXXXXX) "
3454cleanup () { rm -rf " ${WORKDIR} " ; }
3555trap cleanup EXIT
@@ -39,15 +59,15 @@ trap cleanup EXIT
3959# Override with NRN_CI_DEPS_SOURCE=local if debugging with a gitignored assets/ copy.
4060export NRN_CI_DEPS_SOURCE=" ${NRN_CI_DEPS_SOURCE:- release} "
4161
42- " ${SCRIPT_DIR} /fetch.sh" mpich-noble-4.2.0-5.1 " ${WORKDIR} "
43- " ${SCRIPT_DIR} /fetch.sh" libmpich12-noble-4.2.0-5.1 " ${WORKDIR} "
62+ " ${SCRIPT_DIR} /fetch.sh" " ${mpich_id} " " ${WORKDIR} "
63+ " ${SCRIPT_DIR} /fetch.sh" " ${lib_id} " " ${WORKDIR} "
4464
4565# Ensure base packages exist (headers etc.) then overwrite with pinned debs.
4666apt-get install -y -qq mpich libmpich-dev || true
4767dpkg --install \
48- " ${WORKDIR} /libmpich12_4.2.0-5.1_amd64.deb " \
49- " ${WORKDIR} /mpich_4.2.0-5.1_amd64.deb "
68+ " ${WORKDIR} /${lib_deb} " \
69+ " ${WORKDIR} /${mpich_deb} "
5070
51- echo " installed pinned mpich 4.2.0-5.1 for Ubuntu 24.04"
71+ echo " installed pinned mpich 4.2.0-5.1 for Ubuntu 24.04 ( ${arch} ) "
5272mpichversion 2> /dev/null || true
5373mpirun.mpich --version 2> /dev/null || mpirun --version 2> /dev/null || true
0 commit comments