Github messages for voidlinux
 help / color / mirror / Atom feed
* [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).