* [PR PATCH] OpenMPI 5.0.0 (drops 32-bit architectures)
@ 2023-11-27 20:22 ahesford
2023-12-28 22:01 ` [PR PATCH] [Updated] " ahesford
2024-01-03 19:34 ` [PR PATCH] [Closed]: OpenMPI 5.0.1 " ahesford
0 siblings, 2 replies; 3+ messages in thread
From: ahesford @ 2023-11-27 20:22 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 601 bytes --]
There is a new pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages openmpi-5.0.0
https://github.com/void-linux/void-packages/pull/47440
OpenMPI 5.0.0 (drops 32-bit architectures)
With this release, OpenMPI explicitly drops support for 32-bit archs. Manual cleanup of the repositories of the 32-bit ARM and i686 repositories will likely be required, perhaps immediately.
#### Testing the changes
- I tested the changes in this PR: **pending**
A patch file from https://github.com/void-linux/void-packages/pull/47440.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-openmpi-5.0.0-47440.patch --]
[-- Type: text/x-diff, Size: 12687 bytes --]
From 4b8a359e2d9d3b71346c8f2954de09b65e22eb3d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:38:55 -0500
Subject: [PATCH 1/3] openmpi: update to 5.0.0.
---
common/shlibs | 16 ++-
srcpkgs/openmpi/patches/mutex-fix.patch | 130 ++++++++++++++++++++++++
srcpkgs/openmpi/template | 25 ++---
3 files changed, 150 insertions(+), 21 deletions(-)
create mode 100644 srcpkgs/openmpi/patches/mutex-fix.patch
diff --git a/common/shlibs b/common/shlibs
index 90018a5616f86..805a0c9b745ff 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -707,15 +707,13 @@ libapr-1.so.0 apr-1.4.2_1
libaprutil-1.so.0 apr-util-1.6.1_11
libnetpgp.so.0 libnetpgp-20140220_19
libmj.so.0 libmj-20140220_19
-libmca_common_sm.so.40 libopenmpi-3.0.1_1
-libmca_common_dstore.so.1 libopenmpi-4.0.1_1
-libmca_common_ompio.so.41 libopenmpi-3.0.1_1
-libmca_common_monitoring.so.50 libopenmpi-3.1.2_1
-libmpi.so.40 libopenmpi-3.0.1_1
-libompitrace.so.40 libopenmpi-3.0.1_1
-libopen-pal.so.40 libopenmpi-3.0.1_1
-libopen-rte.so.40 libopenmpi-3.0.1_1
-liboshmem.so.40 libopenmpi-3.0.1_1
+libmpi.so.40 libopenmpi-5.0.0_1
+libmpi_mpifh.so.40 libopenmpi-5.0.0_1
+libmpi_usempi_ignore_tkr.so.40 libopenmpi-5.0.0_1
+libmpi_usempif08.so.40 libopenmpi-5.0.0_1
+libopen-pal.so.80 libopenmpi-5.0.0_1
+libpmix.so.2 libopenmpi-5.0.0_1
+libprrte.so.3 libopenmpi-5.0.0_1
libmtp.so.9 libmtp-1.1.4_1
libelf.so.1 libelf-0.155_1
libdw.so.1 libelf-0.155_1
diff --git a/srcpkgs/openmpi/patches/mutex-fix.patch b/srcpkgs/openmpi/patches/mutex-fix.patch
new file mode 100644
index 0000000000000..65327ce493d28
--- /dev/null
+++ b/srcpkgs/openmpi/patches/mutex-fix.patch
@@ -0,0 +1,130 @@
+From ad4c825e95ecd084b146947079216875e44d674c Mon Sep 17 00:00:00 2001
+From: George Bosilca <bosilca@icl.utk.edu>
+Date: Mon, 30 Oct 2023 14:51:13 -0400
+Subject: [PATCH 1/2] Avoid static initialization of recursive mutexes
+
+There is no portable way to statically initialize recursive mutexes.
+Where possible avoid doing so, and where not possible add a specialized
+__constructor__ (thanks @eschnett for the patch).
+
+Fixes #12029.
+
+Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
+---
+ ompi/instance/instance.c | 7 +++++++
+ opal/mca/btl/usnic/btl_usnic_component.c | 2 +-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/ompi/instance/instance.c b/ompi/instance/instance.c
+index 8b67db9ccd5..1427db7b982 100644
+--- a/ompi/instance/instance.c
++++ b/ompi/instance/instance.c
+@@ -59,7 +59,14 @@
+
+ ompi_predefined_instance_t ompi_mpi_instance_null = {{{{0}}}};
+
++#if defined(OPAL_RECURSIVE_MUTEX_STATIC_INIT)
+ static opal_recursive_mutex_t instance_lock = OPAL_RECURSIVE_MUTEX_STATIC_INIT;
++#else
++static opal_recursive_mutex_t instance_lock;
++__attribute__((__constructor__)) static void instance_lock_init(void) {
++ OBJ_CONSTRUCT(&instance_lock, opal_recursive_mutex_t);
++}
++#endif /* defined(OPAL_RECURSIVE_MUTEX_STATIC_INIT) */
+
+ /** MPI_Init instance */
+ ompi_instance_t *ompi_mpi_instance_default = NULL;
+diff --git a/opal/mca/btl/usnic/btl_usnic_component.c b/opal/mca/btl/usnic/btl_usnic_component.c
+index 4c771a16e12..fe0b00f312f 100644
+--- a/opal/mca/btl/usnic/btl_usnic_component.c
++++ b/opal/mca/btl/usnic/btl_usnic_component.c
+@@ -83,7 +83,7 @@
+ #define OPAL_BTL_USNIC_NUM_COMPLETIONS 500
+
+ /* MPI_THREAD_MULTIPLE_SUPPORT */
+-opal_recursive_mutex_t btl_usnic_lock = OPAL_RECURSIVE_MUTEX_STATIC_INIT;
++opal_recursive_mutex_t btl_usnic_lock; /* recursive mutexes must be dynamically initialized */
+
+ /* RNG buffer definition */
+ opal_rng_buff_t opal_btl_usnic_rand_buff = {{0}};
+
+From 787dd7bf65b3e8f5ebb0a64b455415e549364abe Mon Sep 17 00:00:00 2001
+From: George Bosilca <bosilca@icl.utk.edu>
+Date: Mon, 30 Oct 2023 15:54:05 -0400
+Subject: [PATCH 2/2] Add support for __constructor__
+
+The only remaining statically initialized recursive mutex has now
+support for the constructor attribute.
+
+Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
+---
+ config/opal_check_attributes.m4 | 10 ++++++++++
+ ompi/instance/instance.c | 6 ++++--
+ opal/include/opal_config_bottom.h | 6 ++++++
+ 3 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/config/opal_check_attributes.m4 b/config/opal_check_attributes.m4
+index 9b2d5488f38..2d2e1ba3d7f 100644
+--- a/config/opal_check_attributes.m4
++++ b/config/opal_check_attributes.m4
+@@ -559,6 +559,14 @@ AC_DEFUN([OPAL_CHECK_ATTRIBUTES], [
+ [],
+ [])
+
++ _OPAL_CHECK_SPECIFIC_ATTRIBUTE([constructor],
++ [
++ void foo(void) __attribute__ ((__constructor__));
++ void foo(void) { return ; }
++ ],
++ [],
++ [])
++
+ _OPAL_CHECK_SPECIFIC_ATTRIBUTE([destructor],
+ [
+ void foo(void) __attribute__ ((__destructor__));
+@@ -631,6 +639,8 @@ AC_DEFUN([OPAL_CHECK_ATTRIBUTES], [
+ [Whether your compiler has __attribute__ warn unused result or not])
+ AC_DEFINE_UNQUOTED(OPAL_HAVE_ATTRIBUTE_WEAK_ALIAS, [$opal_cv___attribute__weak_alias],
+ [Whether your compiler has __attribute__ weak alias or not])
++ AC_DEFINE_UNQUOTED(OPAL_HAVE_ATTRIBUTE_CONSTRUCTOR, [$opal_cv___attribute__constructor],
++ [Whether your compiler has __attribute__ constructor or not])
+ AC_DEFINE_UNQUOTED(OPAL_HAVE_ATTRIBUTE_DESTRUCTOR, [$opal_cv___attribute__destructor],
+ [Whether your compiler has __attribute__ destructor or not])
+ AC_DEFINE_UNQUOTED(OPAL_HAVE_ATTRIBUTE_OPTNONE, [$opal_cv___attribute__optnone],
+diff --git a/ompi/instance/instance.c b/ompi/instance/instance.c
+index 1427db7b982..6d85bdec0b4 100644
+--- a/ompi/instance/instance.c
++++ b/ompi/instance/instance.c
+@@ -61,11 +61,13 @@ ompi_predefined_instance_t ompi_mpi_instance_null = {{{{0}}}};
+
+ #if defined(OPAL_RECURSIVE_MUTEX_STATIC_INIT)
+ static opal_recursive_mutex_t instance_lock = OPAL_RECURSIVE_MUTEX_STATIC_INIT;
+-#else
++#elif defined(OPAL_HAVE_ATTRIBUTE_CONSTRUCTOR)
+ static opal_recursive_mutex_t instance_lock;
+-__attribute__((__constructor__)) static void instance_lock_init(void) {
++__opal_attribute_constructor__ static void instance_lock_init(void) {
+ OBJ_CONSTRUCT(&instance_lock, opal_recursive_mutex_t);
+ }
++#else
++#error "No support for recursive mutexes available on this platform.
+ #endif /* defined(OPAL_RECURSIVE_MUTEX_STATIC_INIT) */
+
+ /** MPI_Init instance */
+diff --git a/opal/include/opal_config_bottom.h b/opal/include/opal_config_bottom.h
+index 2c2392a5429..a7337ab6cbd 100644
+--- a/opal/include/opal_config_bottom.h
++++ b/opal/include/opal_config_bottom.h
+@@ -229,6 +229,12 @@
+ # define __opal_attribute_weak_alias__(a)
+ #endif
+
++#if OPAL_HAVE_ATTRIBUTE_CONSTRUCTOR
++# define __opal_attribute_constructor__ __attribute__((__constructor__))
++#else
++# define __opal_attribute_constructor__
++#endif
++
+ #if OPAL_HAVE_ATTRIBUTE_DESTRUCTOR
+ # define __opal_attribute_destructor__ __attribute__((__destructor__))
+ #else
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index d03c1356c8806..97eadd05f95f8 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -1,22 +1,21 @@
# Template file for 'openmpi'
pkgname=openmpi
-version=4.1.6
+version=5.0.0
revision=1
+# OpenMPI >= 5 is 64-bit only
+archs="x86_64* aarch64* ppc64* riscv64"
build_style=gnu-configure
-configure_args="--enable-ipv6 --with-hwloc=${XBPS_CROSS_BASE}/usr
- --libdir=\${prefix}/lib${XBPS_TARGET_WORDSIZE}"
-hostmakedepends="perl pkg-config automake libtool"
+configure_args="--enable-ipv6 --libdir=\${prefix}/lib${XBPS_TARGET_WORDSIZE}
+ --with-pmix=internal --with-prrte=internal --with-hwloc=${XBPS_CROSS_BASE}/usr"
+hostmakedepends="perl pkg-config automake libtool python3"
makedepends="libgomp-devel libhwloc-devel zlib-devel libevent-devel"
-conf_files="
- /etc/openmpi-default-hostfile
- /etc/openmpi-mca-params.conf
- /etc/openmpi-totalview.tcl"
+conf_files="/etc/*"
short_desc="High Performance Message Passing Library"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.open-mpi.org/"
distfiles="${homepage}/software/ompi/v${version%.*}/downloads/${pkgname}-${version}.tar.bz2"
-checksum=f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415
+checksum=9d845ca94bc1aeb445f83d98d238cd08f6ec7ad0f73b0f79ec1668dbfdacd613
lib32disabled=yes
if [ "${CROSS_BUILD}" ]; then
@@ -29,18 +28,16 @@ fi
post_patch() {
vsed -e 's,sys/unistd.h,unistd.h,g' -i opal/include/opal/sys/cma.h
- vsed -e '1i#include <unistd.h>' -i opal/mca/pmix/pmix3x/pmix/include/pmix_server.h
}
pre_configure() {
# OpenMPI only respects FCFLAGS now
export FCFLAGS="${FFLAGS}"
+ ./autogen.pl --force
}
post_install() {
vlicense LICENSE
- # https://github.com/void-linux/void-packages/pull/28996#issuecomment-784255185
- mv "${DESTDIR}/usr/lib/ompi_monitoring_prof.so" "${DESTDIR}/usr/lib/openmpi"
}
libopenmpi_package() {
@@ -59,5 +56,9 @@ openmpi-devel_package() {
vmove usr/lib/pkgconfig
vmove usr/share/man/man3
vmove "usr/lib/*.so"
+
+ if [ -z "${CROSS_BUILD}" ]; then
+ vmove "usr/lib/*.mod"
+ fi
}
}
From 243f06795ef8269e6574a4dfded6ac1ea5669771 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:40:21 -0500
Subject: [PATCH 2/3] python3-mpi4py: rebuild for openmpi-5.0.0
---
srcpkgs/python3-mpi4py/template | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 6ffb048ae87ef..229245bdb2e8b 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -1,7 +1,9 @@
# Template file for 'python3-mpi4py'
pkgname=python3-mpi4py
version=3.1.5
-revision=1
+revision=2
+# OpenMPI >= 5 is 64-bit only
+archs="x86_64* aarch64* ppc64* riscv64"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
makedepends="python3-devel openmpi-devel"
From 997b85a085de93886b525a13860389f46bc69633 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:40:21 -0500
Subject: [PATCH 3/3] boost: rebuild for openmpi-5.0.0
Because openmpi>=5.0.0 only supports 64-bit architectures, the MPI
subpackages of boost are now limited to these architectures.
---
srcpkgs/boost/template | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/boost/template b/srcpkgs/boost/template
index 957f1989195c1..ca40538f49399 100644
--- a/srcpkgs/boost/template
+++ b/srcpkgs/boost/template
@@ -1,11 +1,10 @@
# Template file for 'boost'
pkgname=boost
version=1.83.0
-revision=3
+revision=4
build_style=meta
-hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config openmpi"
-makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel
- libzstd-devel openmpi-devel"
+hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config"
+makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel libzstd-devel"
checkdepends="openssl-devel libpng-devel libjpeg-turbo-devel"
short_desc="Free peer-reviewed portable C++ source libraries"
maintainer="John <me@johnnynator.dev>"
@@ -43,13 +42,13 @@ subpackages="libboost_program_options libboost_math_c99f
libboost_stacktrace_basic libboost_stacktrace_noop
libboost_iostreams libboost_filesystem libboost_url
libboost_chrono libboost_math_tr1f libboost_wave
- libboost_graph libboost_graph_parallel libboost_locale libboost_regex
+ libboost_graph libboost_locale libboost_regex
libboost_fiber libboost_type_erasure libboost_coroutine
libboost_atomic libboost_prg_exec_monitor libboost_math_c99
boost-python3 libboost_log_setup boost-devel libboost_json
libboost_timer libboost_system libboost_unit_test_framework
libboost_serialization libboost_math_tr1 boost-build
- libboost_contract libboost_nowide libboost_mpi libboost_mpi-python3
+ libboost_contract libboost_nowide
libboost_date_time libboost_log libboost_random
libboost_thread libboost_container
libboost_wserialization libboost_context"
@@ -88,6 +87,14 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) _arch=power; _abi=sysv ;;
esac
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|aarch64*|ppc64*|riscv64*)
+ hostmakedepends+=" openmpi"
+ makedepends+=" openmpi-devel"
+ subpackages+=" libboost_mpi libboost_mpi-python3 libboost_graph_parallel"
+ ;;
+esac
+
do_build() {
# bootstrap.sh will reset CXX and CXXFLAGS (L229)
./bootstrap.sh --with-toolset=gcc \
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PR PATCH] [Updated] OpenMPI 5.0.0 (drops 32-bit architectures)
2023-11-27 20:22 [PR PATCH] OpenMPI 5.0.0 (drops 32-bit architectures) ahesford
@ 2023-12-28 22:01 ` ahesford
2024-01-03 19:34 ` [PR PATCH] [Closed]: OpenMPI 5.0.1 " ahesford
1 sibling, 0 replies; 3+ messages in thread
From: ahesford @ 2023-12-28 22:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 606 bytes --]
There is an updated pull request by ahesford against master on the void-packages repository
https://github.com/ahesford/void-packages openmpi-5.0.0
https://github.com/void-linux/void-packages/pull/47440
OpenMPI 5.0.0 (drops 32-bit architectures)
With this release, OpenMPI explicitly drops support for 32-bit archs. Manual cleanup of the repositories of the 32-bit ARM and i686 repositories will likely be required, perhaps immediately.
#### Testing the changes
- I tested the changes in this PR: **pending**
A patch file from https://github.com/void-linux/void-packages/pull/47440.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-openmpi-5.0.0-47440.patch --]
[-- Type: text/x-diff, Size: 6936 bytes --]
From 17794a11cf36ab2abd31e20c5d122566b8d87b75 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:38:55 -0500
Subject: [PATCH 1/3] openmpi: update to 5.0.1.
---
common/shlibs | 16 +++++++---------
srcpkgs/openmpi/template | 25 +++++++++++++------------
2 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/common/shlibs b/common/shlibs
index 6463e020bb473..377d53cf70501 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -707,15 +707,13 @@ libapr-1.so.0 apr-1.4.2_1
libaprutil-1.so.0 apr-util-1.6.1_11
libnetpgp.so.0 libnetpgp-20140220_19
libmj.so.0 libmj-20140220_19
-libmca_common_sm.so.40 libopenmpi-3.0.1_1
-libmca_common_dstore.so.1 libopenmpi-4.0.1_1
-libmca_common_ompio.so.41 libopenmpi-3.0.1_1
-libmca_common_monitoring.so.50 libopenmpi-3.1.2_1
-libmpi.so.40 libopenmpi-3.0.1_1
-libompitrace.so.40 libopenmpi-3.0.1_1
-libopen-pal.so.40 libopenmpi-3.0.1_1
-libopen-rte.so.40 libopenmpi-3.0.1_1
-liboshmem.so.40 libopenmpi-3.0.1_1
+libmpi.so.40 libopenmpi-5.0.1_1
+libmpi_mpifh.so.40 libopenmpi-5.0.1_1
+libmpi_usempi_ignore_tkr.so.40 libopenmpi-5.0.1_1
+libmpi_usempif08.so.40 libopenmpi-5.0.1_1
+libopen-pal.so.80 libopenmpi-5.0.1_1
+libpmix.so.2 libopenmpi-5.0.1_1
+libprrte.so.3 libopenmpi-5.0.1_1
libmtp.so.9 libmtp-1.1.4_1
libelf.so.1 libelf-0.155_1
libdw.so.1 libelf-0.155_1
diff --git a/srcpkgs/openmpi/template b/srcpkgs/openmpi/template
index d03c1356c8806..4cf548e2e316b 100644
--- a/srcpkgs/openmpi/template
+++ b/srcpkgs/openmpi/template
@@ -1,22 +1,21 @@
# Template file for 'openmpi'
pkgname=openmpi
-version=4.1.6
+version=5.0.1
revision=1
+# OpenMPI >= 5 is 64-bit only
+archs="x86_64* aarch64* ppc64* riscv64"
build_style=gnu-configure
-configure_args="--enable-ipv6 --with-hwloc=${XBPS_CROSS_BASE}/usr
- --libdir=\${prefix}/lib${XBPS_TARGET_WORDSIZE}"
-hostmakedepends="perl pkg-config automake libtool"
+configure_args="--enable-ipv6 --libdir=\${prefix}/lib${XBPS_TARGET_WORDSIZE}
+ --with-pmix=internal --with-prrte=internal --with-hwloc=${XBPS_CROSS_BASE}/usr"
+hostmakedepends="perl pkg-config automake libtool python3"
makedepends="libgomp-devel libhwloc-devel zlib-devel libevent-devel"
-conf_files="
- /etc/openmpi-default-hostfile
- /etc/openmpi-mca-params.conf
- /etc/openmpi-totalview.tcl"
+conf_files="/etc/*"
short_desc="High Performance Message Passing Library"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="BSD-3-Clause"
homepage="https://www.open-mpi.org/"
distfiles="${homepage}/software/ompi/v${version%.*}/downloads/${pkgname}-${version}.tar.bz2"
-checksum=f740994485516deb63b5311af122c265179f5328a0d857a567b85db00b11e415
+checksum=e357043e65fd1b956a47d0dae6156a90cf0e378df759364936c1781f1a25ef80
lib32disabled=yes
if [ "${CROSS_BUILD}" ]; then
@@ -29,18 +28,16 @@ fi
post_patch() {
vsed -e 's,sys/unistd.h,unistd.h,g' -i opal/include/opal/sys/cma.h
- vsed -e '1i#include <unistd.h>' -i opal/mca/pmix/pmix3x/pmix/include/pmix_server.h
}
pre_configure() {
# OpenMPI only respects FCFLAGS now
export FCFLAGS="${FFLAGS}"
+ ./autogen.pl --force
}
post_install() {
vlicense LICENSE
- # https://github.com/void-linux/void-packages/pull/28996#issuecomment-784255185
- mv "${DESTDIR}/usr/lib/ompi_monitoring_prof.so" "${DESTDIR}/usr/lib/openmpi"
}
libopenmpi_package() {
@@ -59,5 +56,9 @@ openmpi-devel_package() {
vmove usr/lib/pkgconfig
vmove usr/share/man/man3
vmove "usr/lib/*.so"
+
+ if [ -z "${CROSS_BUILD}" ]; then
+ vmove "usr/lib/*.mod"
+ fi
}
}
From daf733514af6a18ee072ba9b156b7f64d1b7cdb1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:40:21 -0500
Subject: [PATCH 2/3] python3-mpi4py: rebuild for openmpi-5.0.1
---
srcpkgs/python3-mpi4py/template | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 6ffb048ae87ef..229245bdb2e8b 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -1,7 +1,9 @@
# Template file for 'python3-mpi4py'
pkgname=python3-mpi4py
version=3.1.5
-revision=1
+revision=2
+# OpenMPI >= 5 is 64-bit only
+archs="x86_64* aarch64* ppc64* riscv64"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
makedepends="python3-devel openmpi-devel"
From f5bc94a81a558af2a6691366ea7a85addab64804 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 25 Nov 2023 20:40:21 -0500
Subject: [PATCH 3/3] boost: rebuild for openmpi-5.0.1
Because openmpi>=5.0.0 only supports 64-bit architectures, the MPI
subpackages of boost are now limited to these architectures.
---
srcpkgs/boost/template | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/srcpkgs/boost/template b/srcpkgs/boost/template
index 957f1989195c1..ca40538f49399 100644
--- a/srcpkgs/boost/template
+++ b/srcpkgs/boost/template
@@ -1,11 +1,10 @@
# Template file for 'boost'
pkgname=boost
version=1.83.0
-revision=3
+revision=4
build_style=meta
-hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config openmpi"
-makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel
- libzstd-devel openmpi-devel"
+hostmakedepends="which bzip2-devel icu-devel python3-devel pkg-config"
+makedepends="zlib-devel bzip2-devel icu-devel python3-devel liblzma-devel libzstd-devel"
checkdepends="openssl-devel libpng-devel libjpeg-turbo-devel"
short_desc="Free peer-reviewed portable C++ source libraries"
maintainer="John <me@johnnynator.dev>"
@@ -43,13 +42,13 @@ subpackages="libboost_program_options libboost_math_c99f
libboost_stacktrace_basic libboost_stacktrace_noop
libboost_iostreams libboost_filesystem libboost_url
libboost_chrono libboost_math_tr1f libboost_wave
- libboost_graph libboost_graph_parallel libboost_locale libboost_regex
+ libboost_graph libboost_locale libboost_regex
libboost_fiber libboost_type_erasure libboost_coroutine
libboost_atomic libboost_prg_exec_monitor libboost_math_c99
boost-python3 libboost_log_setup boost-devel libboost_json
libboost_timer libboost_system libboost_unit_test_framework
libboost_serialization libboost_math_tr1 boost-build
- libboost_contract libboost_nowide libboost_mpi libboost_mpi-python3
+ libboost_contract libboost_nowide
libboost_date_time libboost_log libboost_random
libboost_thread libboost_container
libboost_wserialization libboost_context"
@@ -88,6 +87,14 @@ case "$XBPS_TARGET_MACHINE" in
ppc*) _arch=power; _abi=sysv ;;
esac
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|aarch64*|ppc64*|riscv64*)
+ hostmakedepends+=" openmpi"
+ makedepends+=" openmpi-devel"
+ subpackages+=" libboost_mpi libboost_mpi-python3 libboost_graph_parallel"
+ ;;
+esac
+
do_build() {
# bootstrap.sh will reset CXX and CXXFLAGS (L229)
./bootstrap.sh --with-toolset=gcc \
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PR PATCH] [Closed]: OpenMPI 5.0.1 (drops 32-bit architectures)
2023-11-27 20:22 [PR PATCH] OpenMPI 5.0.0 (drops 32-bit architectures) ahesford
2023-12-28 22:01 ` [PR PATCH] [Updated] " ahesford
@ 2024-01-03 19:34 ` ahesford
1 sibling, 0 replies; 3+ messages in thread
From: ahesford @ 2024-01-03 19:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 442 bytes --]
There's a closed pull request on the void-packages repository
OpenMPI 5.0.1 (drops 32-bit architectures)
https://github.com/void-linux/void-packages/pull/47440
Description:
With this release, OpenMPI explicitly drops support for 32-bit archs. Manual cleanup of the repositories of the 32-bit ARM and i686 repositories will likely be required, perhaps immediately.
#### Testing the changes
- I tested the changes in this PR: **pending**
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-01-03 19:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-27 20:22 [PR PATCH] OpenMPI 5.0.0 (drops 32-bit architectures) ahesford
2023-12-28 22:01 ` [PR PATCH] [Updated] " ahesford
2024-01-03 19:34 ` [PR PATCH] [Closed]: OpenMPI 5.0.1 " ahesford
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).