From 3d9a923457e46bd91d2f6e5509fc30364dc7dd97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 10 Apr 2022 09:41:28 +0200 Subject: [PATCH 01/43] Version 4.0.2 (rhbz#1939170) Support for arm32 is dropped: https://fedoraproject.org/wiki/Changes/RetireARMv7 --- .gitignore | 1 + 0001-Drop-real128.patch | 74 ----- 0001-Revert-Remove-use-of-vasprintf.patch | 268 ------------------ ...ptimization-and-link-flags-from-pkgc.patch | 5 +- ...o-drop-rpath-flags-from-pkgconf-file.patch | 4 +- ...-e.g.-specs.-and-lto-from-mpi-wrappe.patch | 109 +++---- ...tch => 0004-Make-mpich.module-useful.patch | 15 +- mpich.spec | 42 +-- sources | 2 +- 9 files changed, 76 insertions(+), 444 deletions(-) delete mode 100644 0001-Drop-real128.patch delete mode 100644 0001-Revert-Remove-use-of-vasprintf.patch rename fix_wrapper_flags.patch => 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch (53%) rename mpich-modules.patch => 0004-Make-mpich.module-useful.patch (68%) diff --git a/.gitignore b/.gitignore index f3d483d..2dbd305 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /mpich-3.3.2.tar.gz /mpich-3.4.tar.gz /mpich-3.4.1.tar.gz +/mpich-4.0.2.tar.gz diff --git a/0001-Drop-real128.patch b/0001-Drop-real128.patch deleted file mode 100644 index 355bd87..0000000 --- a/0001-Drop-real128.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 8f0c71281b5dccd70a3f1d4204e3cc6bc7201ceb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= - -Date: Wed, 28 Aug 2019 10:57:55 +0000 -Subject: [PATCH] Drop real128 - -https://github.com/pmodels/mpich/issues/4005 ---- - .../fortran/use_mpi_f08/mpi_f08_types.f90 | 24 ------------------- - 1 file changed, 24 deletions(-) - -diff --git a/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90 b/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90 -index f8b0fa811..46bdf6972 100644 ---- a/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90 -+++ b/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90 -@@ -248,10 +248,8 @@ interface MPI_Sizeof - module procedure MPI_Sizeof_xint64 - module procedure MPI_Sizeof_xreal32 - module procedure MPI_Sizeof_xreal64 -- module procedure MPI_Sizeof_xreal128 - module procedure MPI_Sizeof_xcomplex32 - module procedure MPI_Sizeof_xcomplex64 -- module procedure MPI_Sizeof_xcomplex128 - end interface - - private :: MPI_Sizeof_character -@@ -263,10 +261,8 @@ private :: MPI_Sizeof_xint32 - private :: MPI_Sizeof_xint64 - private :: MPI_Sizeof_xreal32 - private :: MPI_Sizeof_xreal64 --private :: MPI_Sizeof_xreal128 - private :: MPI_Sizeof_xcomplex32 - private :: MPI_Sizeof_xcomplex64 --private :: MPI_Sizeof_xcomplex128 - - contains - -@@ -350,16 +346,6 @@ subroutine MPI_Sizeof_xreal64 (x, size, ierror) - ierror = 0 - end subroutine MPI_Sizeof_xreal64 - --subroutine MPI_Sizeof_xreal128 (x, size, ierror) -- use,intrinsic :: iso_fortran_env, only: real128 -- real(real128),dimension(..) :: x -- integer, intent(out) :: size -- integer, optional, intent(out) :: ierror -- -- size = storage_size(x)/8 -- ierror = 0 --end subroutine MPI_Sizeof_xreal128 -- - subroutine MPI_Sizeof_xcomplex32 (x, size, ierror) - use,intrinsic :: iso_fortran_env, only: real32 - complex(real32),dimension(..) :: x -@@ -380,16 +366,6 @@ subroutine MPI_Sizeof_xcomplex64 (x, size, ierror) - ierror = 0 - end subroutine MPI_Sizeof_xcomplex64 - --subroutine MPI_Sizeof_xcomplex128 (x, size, ierror) -- use,intrinsic :: iso_fortran_env, only: real128 -- complex(real128),dimension(..) :: x -- integer, intent(out) :: size -- integer, optional, intent(out) :: ierror -- -- size = storage_size(x)/8 -- ierror = 0 --end subroutine MPI_Sizeof_xcomplex128 -- - subroutine MPI_Status_f2f08(f_status, f08_status, ierror) - integer, intent(in) :: f_status(MPI_STATUS_SIZE) - type(MPI_Status), intent(out) :: f08_status --- -2.21.0 - diff --git a/0001-Revert-Remove-use-of-vasprintf.patch b/0001-Revert-Remove-use-of-vasprintf.patch deleted file mode 100644 index c11f090..0000000 --- a/0001-Revert-Remove-use-of-vasprintf.patch +++ /dev/null @@ -1,268 +0,0 @@ -From 6c286621ff551eed1dca5afaf08aeaa41eabd96d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sat, 30 Jan 2021 13:05:26 +0100 -Subject: [PATCH] Revert "Remove use of vasprintf" - -This reverts commit 1f0713f80303154d07d9221a7398b6fbc5c0fa6d. - -$ valgrind ./modules/json-c/tests/test_json_pointer -==56== Memcheck, a memory error detector -==56== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. -==56== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info -==56== Command: ./modules/json-c/tests/test_json_pointer -==56== -PASSED - GET - LOADED TEST JSON -{ "foo": [ "bar", "baz" ], "": 0, "a\/b": 1, "c%d": 2, "e^f": 3, "g|h": 4, "i\\j": 5, "k\"l": 6, " ": 7, "m~n": 8 } -PASSED - GET - ENTIRE OBJECT WORKED -PASSED - GET - /foo == ['bar', 'baz'] -PASSED - GET - /foo/0 == 'bar' -PASSED - GET - / == 0 -PASSED - GET - /a~1b == 1 -PASSED - GET - /c%d == 2 -PASSED - GET - /e^f == 3 -PASSED - GET - /g|h == 4 -PASSED - GET - /i\j == 5 -PASSED - GET - /k"l == 6 -PASSED - GET - / == 7 -PASSED - GET - /m~0n == 8 -PASSED - GET - LOADED TEST JSON -{ "foo": [ "bar", "baz" ], "": 0, "a\/b": 1, "c%d": 2, "e^f": 3, "g|h": 4, "i\\j": 5, "k\"l": 6, " ": 7, "m~n": 8 } -PASSED - GET - MISSING / -PASSED - GET - NULL INPUTS -==56== Invalid write of size 1 -==56== at 0x48D0F75: _IO_default_xsputn (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x48B954F: __vfprintf_internal (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x48C54F3: __vsprintf_internal (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x110C34: UnknownInlinedFun (stdio2.h:52) -==56== by 0x110C34: json_vasprintf.constprop.0 (vasprintf_compat.h:34) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid write of size 1 -==56== at 0x48C54F9: __vsprintf_internal (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x110C34: UnknownInlinedFun (stdio2.h:52) -==56== by 0x110C34: json_vasprintf.constprop.0 (vasprintf_compat.h:34) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a29 is 2 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x483F800: __strchr_sse2 (vg_replace_strmem.c:248) -==56== by 0x10CCDC: json_pointer_get_recursive (json_pointer.c:152) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid write of size 1 -==56== at 0x10CCE5: json_pointer_get_recursive (json_pointer.c:154) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461) -==56== by 0x10CB0B: string_replace_all_occurrences_with_char (json_pointer.c:30) -==56== by 0x10CD47: UnknownInlinedFun (json_pointer.c:100) -==56== by 0x10CD47: json_pointer_get_recursive (json_pointer.c:157) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x4844510: strstr (vg_replace_strmem.c:1642) -==56== by 0x10CB53: string_replace_all_occurrences_with_char (json_pointer.c:33) -==56== by 0x10CD47: UnknownInlinedFun (json_pointer.c:100) -==56== by 0x10CD47: json_pointer_get_recursive (json_pointer.c:157) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461) -==56== by 0x10CB0B: string_replace_all_occurrences_with_char (json_pointer.c:30) -==56== by 0x10CD5B: UnknownInlinedFun (json_pointer.c:101) -==56== by 0x10CD5B: json_pointer_get_recursive (json_pointer.c:157) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x4844510: strstr (vg_replace_strmem.c:1642) -==56== by 0x10CB53: string_replace_all_occurrences_with_char (json_pointer.c:33) -==56== by 0x10CD5B: UnknownInlinedFun (json_pointer.c:101) -==56== by 0x10CD5B: json_pointer_get_recursive (json_pointer.c:157) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -==56== Invalid read of size 1 -==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461) -==56== by 0x10DAD3: lh_char_hash (linkhash.c:480) -==56== by 0x10CDCA: UnknownInlinedFun (linkhash.h:346) -==56== by 0x10CDCA: UnknownInlinedFun (linkhash.c:625) -==56== by 0x10CDCA: UnknownInlinedFun (linkhash.c:630) -==56== by 0x10CDCA: UnknownInlinedFun (json_object.c:547) -==56== by 0x10CDCA: UnknownInlinedFun (json_object.c:535) -==56== by 0x10CDCA: UnknownInlinedFun (json_pointer.c:103) -==56== by 0x10CDCA: json_pointer_get_recursive (json_pointer.c:157) -==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd -==56== at 0x483C805: malloc (vg_replace_malloc.c:307) -==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31) -==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211) -==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199) -==56== by 0x10AAE7: main (test_json_pointer.c:314) -==56== -test_json_pointer: test_json_pointer.c:200: test_wrong_inputs_get: Assertion `errno == EINVAL' failed. -==56== -==56== Process terminating with default action of signal 6 (SIGABRT) -==56== at 0x488A282: raise (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x48738A3: abort (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x4873788: __assert_fail_base.cold (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x4882A05: __assert_fail (in /usr/lib64/libc-2.32.9000.so) -==56== by 0x10B8F8: UnknownInlinedFun (test_json_pointer.c:200) -==56== by 0x10B8F8: main (test_json_pointer.c:314) -==56== -==56== HEAP SUMMARY: -==56== in use at exit: 2,307 bytes in 29 blocks -==56== total heap usage: 130 allocs, 101 frees, 10,302 bytes allocated -==56== -==56== LEAK SUMMARY: -==56== definitely lost: 0 bytes in 0 blocks -==56== indirectly lost: 0 bytes in 0 blocks -==56== possibly lost: 0 bytes in 0 blocks -==56== still reachable: 2,307 bytes in 29 blocks -==56== suppressed: 0 bytes in 0 blocks -==56== Rerun with --leak-check=full to see details of leaked memory -==56== -==56== For lists of detected and suppressed errors, rerun with: -s -==56== ERROR SUMMARY: 10 errors from 9 contexts (suppressed: 0 from 0) -Aborted (core dumped) ---- - configure.ac | 2 +- - json_pointer.c | 4 ++-- - printbuf.c | 2 +- - vasprintf_compat.h | 4 +++- - 4 files changed, 7 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9eb80bcf1c..f61fcccf24 100644 ---- a/modules/json-c/configure.ac -+++ b/modules/json-c/configure.ac -@@ -81,7 +81,7 @@ AS_IF([test "x$ac_cv___thread" != xno], - AC_FUNC_VPRINTF - AC_FUNC_MEMCMP - AC_CHECK_FUNCS([realloc]) --AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf open strncasecmp setlocale) -+AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open strncasecmp setlocale) - AC_CHECK_DECLS([INFINITY], [], [], [[#include ]]) - AC_CHECK_DECLS([nan], [], [], [[#include ]]) - AC_CHECK_DECLS([isnan], [], [], [[#include ]]) -diff --git a/modules/json-c/json_pointer.c b/modules/json-c/json_pointer.c -index 3b43eb2f40..9531c036c8 100644 ---- a/modules/json-c/json_pointer.c -+++ b/modules/json-c/json_pointer.c -@@ -208,7 +208,7 @@ int json_pointer_getf(struct json_object *obj, struct json_object **res, const c - } - - va_start(args, path_fmt); -- rc = json_vasprintf(&path_copy, path_fmt, args); -+ rc = vasprintf(&path_copy, path_fmt, args); - va_end(args); - - if (rc < 0) -@@ -287,7 +287,7 @@ int json_pointer_setf(struct json_object **obj, struct json_object *value, const - - /* pass a working copy to the recursive call */ - va_start(args, path_fmt); -- rc = json_vasprintf(&path_copy, path_fmt, args); -+ rc = vasprintf(&path_copy, path_fmt, args); - va_end(args); - - if (rc < 0) -diff --git a/modules/json-c/printbuf.c b/modules/json-c/printbuf.c -index b326293b01..6c77b5defd 100644 ---- a/modules/json-c/printbuf.c -+++ b/modules/json-c/printbuf.c -@@ -129,7 +129,7 @@ int sprintbuf(struct printbuf *p, const char *msg, ...) - would have been written - this code handles both cases. */ - if(size == -1 || size > 127) { - va_start(ap, msg); -- if((size = json_vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; } -+ if((size = vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; } - va_end(ap); - printbuf_memappend(p, t, size); - free(t); -diff --git a/modules/json-c/vasprintf_compat.h b/modules/json-c/vasprintf_compat.h -index b57f30f64c..43dbf8939c 100644 ---- a/modules/json-c/vasprintf_compat.h -+++ b/modules/json-c/vasprintf_compat.h -@@ -8,8 +8,9 @@ - - #include "snprintf_compat.h" - -+#if !defined(HAVE_VASPRINTF) - /* CAW: compliant version of vasprintf */ --static int json_vasprintf(char **buf, const char *fmt, va_list ap) -+static int vasprintf(char **buf, const char *fmt, va_list ap) - { - #ifndef WIN32 - static char _T_emptybuffer = '\0'; -@@ -40,5 +41,6 @@ static int json_vasprintf(char **buf, const char *fmt, va_list ap) - - return chars; - } -+#endif /* !HAVE_VASPRINTF */ - - #endif /* __vasprintf_compat_h */ diff --git a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch index 1e74985..5a9b7b8 100644 --- a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch +++ b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch @@ -1,7 +1,8 @@ -From 395fecb92fb362b3cd1a91cb278d14160c5ded29 Mon Sep 17 00:00:00 2001 +From cb3e5715326c43779b51e1cab1519282c50199c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 8 Feb 2022 10:19:12 +0100 -Subject: [PATCH] pkgconf: remove optimization and link flags from pkgconf file +Subject: [PATCH 1/4] pkgconf: remove optimization and link flags from pkgconf + file Those flags are generally something "private" to a particular build. If we build mpich with -O2, it does not mean that some other program using the library should diff --git a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch index 7e5b529..af7828c 100644 --- a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +++ b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch @@ -1,7 +1,7 @@ -From 3af7825496ad12951d941ddba28361686028534b Mon Sep 17 00:00:00 2001 +From 03b024ee9346babc48a646b6ab98884ebdd49791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 8 Feb 2022 10:45:41 +0100 -Subject: [PATCH] pkgconf: also drop rpath flags from pkgconf file +Subject: [PATCH 2/4] pkgconf: also drop rpath flags from pkgconf file When environment modules are used, libraries are resolved using normal linker search options. The rpath argument here is actually completely diff --git a/fix_wrapper_flags.patch b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch similarity index 53% rename from fix_wrapper_flags.patch rename to 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch index e555d6d..613d7c4 100644 --- a/fix_wrapper_flags.patch +++ b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch @@ -1,7 +1,25 @@ -diff -Naur mpich-3.3.2.orig/src/env/mpicc.bash.in mpich-3.3.2/src/env/mpicc.bash.in ---- mpich-3.3.2.orig/src/env/mpicc.bash.in 2020-08-06 00:42:51.089874000 +0000 -+++ mpich-3.3.2/src/env/mpicc.bash.in 2020-08-06 00:49:34.849138000 +0000 -@@ -214,13 +214,13 @@ +From e4f0e86f815d8bd3dbb7cccf660bae6ab7f302dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 10 Apr 2022 09:35:14 +0200 +Subject: [PATCH 3/4] Drop build flags, e.g. -specs... and -lto from mpi + wrappers (mpicc and mpicxx) + +For discussion see: +https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7TFWEKTDWBYBHEGMIWBVI3AVGORZGNBS/ +--- + src/env/mpicc.bash.in | 8 ++++---- + src/env/mpicc.sh.in | 8 ++++---- + src/env/mpicxx.bash.in | 8 ++++---- + src/env/mpicxx.sh.in | 8 ++++---- + src/env/mpifort.bash.in | 6 +++--- + src/env/mpifort.sh.in | 6 +++--- + 6 files changed, 22 insertions(+), 22 deletions(-) + +diff --git a/src/env/mpicc.bash.in b/src/env/mpicc.bash.in +index 56d2dcb242..933ee22bf0 100644 +--- a/src/env/mpicc.bash.in ++++ b/src/env/mpicc.bash.in +@@ -247,13 +247,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -19,10 +37,11 @@ diff -Naur mpich-3.3.2.orig/src/env/mpicc.bash.in mpich-3.3.2/src/env/mpicc.bash fi # ----------------------------------------------------------------------- -diff -Naur mpich-3.3.2.orig/src/env/mpicc.sh.in mpich-3.3.2/src/env/mpicc.sh.in ---- mpich-3.3.2.orig/src/env/mpicc.sh.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpicc.sh.in 2020-08-06 00:49:34.849138000 +0000 -@@ -223,13 +223,13 @@ +diff --git a/src/env/mpicc.sh.in b/src/env/mpicc.sh.in +index 654131528e..4ebdc8b6ef 100644 +--- a/src/env/mpicc.sh.in ++++ b/src/env/mpicc.sh.in +@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -40,10 +59,11 @@ diff -Naur mpich-3.3.2.orig/src/env/mpicc.sh.in mpich-3.3.2/src/env/mpicc.sh.in fi # ----------------------------------------------------------------------- -diff -Naur mpich-3.3.2.orig/src/env/mpicxx.bash.in mpich-3.3.2/src/env/mpicxx.bash.in ---- mpich-3.3.2.orig/src/env/mpicxx.bash.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpicxx.bash.in 2020-08-06 00:49:34.849138000 +0000 -@@ -220,13 +220,13 @@ +diff --git a/src/env/mpicxx.bash.in b/src/env/mpicxx.bash.in +index 10d11e3fba..4066bb46f2 100644 +--- a/src/env/mpicxx.bash.in ++++ b/src/env/mpicxx.bash.in +@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -61,10 +81,11 @@ diff -Naur mpich-3.3.2.orig/src/env/mpicxx.bash.in mpich-3.3.2/src/env/mpicxx.ba fi # A temporary statement to invoke the compiler -diff -Naur mpich-3.3.2.orig/src/env/mpicxx.sh.in mpich-3.3.2/src/env/mpicxx.sh.in ---- mpich-3.3.2.orig/src/env/mpicxx.sh.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpicxx.sh.in 2020-08-06 00:49:34.850138000 +0000 -@@ -229,13 +229,13 @@ +diff --git a/src/env/mpicxx.sh.in b/src/env/mpicxx.sh.in +index 1c0078100f..2c090cb06c 100644 +--- a/src/env/mpicxx.sh.in ++++ b/src/env/mpicxx.sh.in +@@ -259,13 +259,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -82,48 +103,11 @@ diff -Naur mpich-3.3.2.orig/src/env/mpicxx.sh.in mpich-3.3.2/src/env/mpicxx.sh.i fi # A temporary statement to invoke the compiler -diff -Naur mpich-3.3.2.orig/src/env/mpif77.bash.in mpich-3.3.2/src/env/mpif77.bash.in ---- mpich-3.3.2.orig/src/env/mpif77.bash.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpif77.bash.in 2020-08-06 00:49:34.852138000 +0000 -@@ -272,12 +272,12 @@ - fi - fi - --final_fflags="@MPICH_MPIF77_FFLAGS@ @WRAPPER_FFLAGS@" --final_ldflags="@MPICH_MPIF77_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_fflags="@MPICH_MPIF77_FFLAGS@ " -+final_ldflags="@MPICH_MPIF77_LDFLAGS@ " - final_libs="@MPICH_MPIF77_LIBS@" - if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then - final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler -diff -Naur mpich-3.3.2.orig/src/env/mpif77.sh.in mpich-3.3.2/src/env/mpif77.sh.in ---- mpich-3.3.2.orig/src/env/mpif77.sh.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpif77.sh.in 2020-08-06 00:49:34.852138000 +0000 -@@ -294,12 +294,12 @@ - fi - fi - --final_fflags="@MPICH_MPIF77_FFLAGS@ @WRAPPER_FFLAGS@" --final_ldflags="@MPICH_MPIF77_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_fflags="@MPICH_MPIF77_FFLAGS@ " -+final_ldflags="@MPICH_MPIF77_LDFLAGS@ " - final_libs="@MPICH_MPIF77_LIBS@" - if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then - final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler -diff -Naur mpich-3.3.2.orig/src/env/mpifort.bash.in mpich-3.3.2/src/env/mpifort.bash.in ---- mpich-3.3.2.orig/src/env/mpifort.bash.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpifort.bash.in 2020-08-06 00:49:34.854138000 +0000 -@@ -313,12 +313,12 @@ +diff --git a/src/env/mpifort.bash.in b/src/env/mpifort.bash.in +index 1130c57986..91a6cb56c5 100644 +--- a/src/env/mpifort.bash.in ++++ b/src/env/mpifort.bash.in +@@ -335,12 +335,12 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi @@ -139,10 +123,11 @@ diff -Naur mpich-3.3.2.orig/src/env/mpifort.bash.in mpich-3.3.2/src/env/mpifort. fi # A temporary statement to invoke the compiler -diff -Naur mpich-3.3.2.orig/src/env/mpifort.sh.in mpich-3.3.2/src/env/mpifort.sh.in ---- mpich-3.3.2.orig/src/env/mpifort.sh.in 2020-08-06 00:42:51.090874000 +0000 -+++ mpich-3.3.2/src/env/mpifort.sh.in 2020-08-06 00:49:34.854138000 +0000 -@@ -330,12 +330,12 @@ +diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in +index a1e7f4dd8e..9d89a8bbe7 100644 +--- a/src/env/mpifort.sh.in ++++ b/src/env/mpifort.sh.in +@@ -352,12 +352,12 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi diff --git a/mpich-modules.patch b/0004-Make-mpich.module-useful.patch similarity index 68% rename from mpich-modules.patch rename to 0004-Make-mpich.module-useful.patch index d8d4ab2..2d5d1ea 100644 --- a/mpich-modules.patch +++ b/0004-Make-mpich.module-useful.patch @@ -1,5 +1,16 @@ ---- mpich-3.2.1/src/packaging/envmods/mpich.module.in.orig 2017-11-11 03:19:44.000000000 +0100 -+++ mpich-3.2.1/src/packaging/envmods/mpich.module.in 2018-04-04 14:14:16.553160669 +0200 +From 27c409c30875ea3ddb8e4bfc6add07c5a3c7780a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sun, 10 Apr 2022 09:36:17 +0200 +Subject: [PATCH 4/4] Make mpich.module useful + +--- + src/packaging/envmods/mpich.module.in | 25 ++++++++++++++++++------- + 1 file changed, 18 insertions(+), 7 deletions(-) + +diff --git a/src/packaging/envmods/mpich.module.in b/src/packaging/envmods/mpich.module.in +index 3d6b4fa623..b8283274ee 100644 +--- a/src/packaging/envmods/mpich.module.in ++++ b/src/packaging/envmods/mpich.module.in @@ -3,12 +3,23 @@ # MPICH module for use with 'environment-modules' package: # diff --git a/mpich.spec b/mpich.spec index f49d566..0e5ff89 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 3.4.1 +Version: 4.0.2 Release: %autorelease License: MIT URL: https://www.mpich.org/ @@ -10,24 +10,12 @@ Source1: mpich.macros Source2: mpich.pth.py2 Source3: mpich.pth.py3 -Patch0: 0001-Drop-real128.patch -Patch1: mpich-modules.patch -# Drop build flags, e.g. -specs... and -lto from mpi wrappers (mpicc and mpicxx) -# for discussion see: -# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7TFWEKTDWBYBHEGMIWBVI3AVGORZGNBS/ -Patch2: fix_wrapper_flags.patch -Patch3: 0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch -Patch4: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +Patch: 0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch +Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch +Patch: 0004-Make-mpich.module-useful.patch # TODO: submit ^ upstream -# https://github.com/pmodels/mpich/issues/4534 -Patch5: 0001-Revert-Remove-use-of-vasprintf.patch - -# There seems to be some syntax error, but I cannot figure out what it -# is (";;" is missing, but adding it doesn't fix things). Since we use -# clock_gettime anyway, just rip out the whole block. -Patch6: esac-syntax-fix.diff - BuildRequires: make BuildRequires: autoconf BuildRequires: automake @@ -121,18 +109,7 @@ Requires: python(abi) = %{python3_version} mpich support for Python 3. %prep -%setup - -%ifarch %{arm} -%patch0 -p1 -%endif - -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 +%autosetup -p1 %build ./autogen.sh @@ -162,7 +139,9 @@ CONFIGURE_OPTS=( ) # Set -fallow-argument-mismatch for #1795817 -%configure "${CONFIGURE_OPTS[@]}" FFLAGS="$FFLAGS -fallow-argument-mismatch" +%configure "${CONFIGURE_OPTS[@]}" \ + FFLAGS="$FFLAGS -fallow-argument-mismatch" \ + FCFLAGS="$FCFLAGS -fallow-argument-mismatch" # Remove rpath sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -171,9 +150,6 @@ sed -r -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool #Try and work around 'unused-direct-shlib-dependency' rpmlint warnning sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool -# work-around libtool error: cannot determine absolute directory name of 'system/lib' -mkdir -p system/lib - %make_build VERBOSE=1 %install diff --git a/sources b/sources index 344b066..c9bacd5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-3.4.1.tar.gz) = 61aa161b14bd501320e45e0598ea4f125a704383e4998bf1773ba8b1ce06fb73204bad8f7a5fc147b1cef97e6420cdb150856f6ab03db4dddfe87f02edd3b8d2 +SHA512 (mpich-4.0.2.tar.gz) = 42b7d8ffee5314cdf9b9f75a2b864f7686066ef86cc225feac7f25c7a487b45636df51c0bbc2d677992e07ed62ae24daf73617f2b44b0dacc6ff69f4e66a9208 From 3cca034eae4073f0c2262b30ad4a9fee752e369d Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 15:46:06 +0200 Subject: [PATCH 02/43] Rebuilt for Python 3.11 From 8edd49ad7fc1ef8d4a60f08d8460f604f994a3d3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 23:50:52 +0000 Subject: [PATCH 03/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 3aac8d8e5b8fbcec5242b535a85aaa6e82ee0988 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sat, 3 Dec 2022 12:36:08 +0100 Subject: [PATCH 04/43] Port configure script to C99 Related to: --- mpich-aclocal_cc-implicit-int.patch | 163 ++++++++++++++++++++++++++++ mpich-configure-max_align_t.patch | 18 +++ mpich-json-configure-__thread.patch | 17 +++ mpich.spec | 4 + 4 files changed, 202 insertions(+) create mode 100644 mpich-aclocal_cc-implicit-int.patch create mode 100644 mpich-configure-max_align_t.patch create mode 100644 mpich-json-configure-__thread.patch diff --git a/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch new file mode 100644 index 0000000..2f6ec43 --- /dev/null +++ b/mpich-aclocal_cc-implicit-int.patch @@ -0,0 +1,163 @@ +aclocal_cc.m4: Remove use of implicit int from weak symbol checks + +Implicit int is no longer part of the C language since the 1999 +revision. + +Submitted upstream: + +diff --git a/confdb/aclocal_cc.m4 b/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/confdb/aclocal_cc.m4 ++++ b/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 +index 8a1552d561306f24..cd28a4f937eaf824 100644 +--- a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 ++++ b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 +@@ -383,7 +383,7 @@ extern int pfoo_(int); + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +-int Foo(a) { return a; } ++int Foo(int a) { return a; } + ]) + ],[ + AC_LANG_SOURCE([ +diff --git a/modules/yaksa/m4/aclocal_cc.m4 b/modules/yaksa/m4/aclocal_cc.m4 +index d15d6741602daf07..9fcf48527653ff01 100644 +--- a/modules/yaksa/m4/aclocal_cc.m4 ++++ b/modules/yaksa/m4/aclocal_cc.m4 +@@ -422,7 +422,7 @@ extern int pfoo_(int); + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +-int Foo(a) { return a; } ++int Foo(int a) { return a; } + ]) + ],[ + AC_LANG_SOURCE([ +diff --git a/src/mpi/romio/confdb/aclocal_cc.m4 b/src/mpi/romio/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/mpi/romio/confdb/aclocal_cc.m4 ++++ b/src/mpi/romio/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 ++++ b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/mpl/confdb/aclocal_cc.m4 b/src/mpl/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/mpl/confdb/aclocal_cc.m4 ++++ b/src/mpl/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/pm/hydra/confdb/aclocal_cc.m4 b/src/pm/hydra/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/pm/hydra/confdb/aclocal_cc.m4 ++++ b/src/pm/hydra/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 ++++ b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/pm/hydra2/confdb/aclocal_cc.m4 b/src/pm/hydra2/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/pm/hydra2/confdb/aclocal_cc.m4 ++++ b/src/pm/hydra2/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 ++++ b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/test/mpi/confdb/aclocal_cc.m4 b/test/mpi/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/test/mpi/confdb/aclocal_cc.m4 ++++ b/test/mpi/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { +diff --git a/test/mpi/dtpools/confdb/aclocal_cc.m4 b/test/mpi/dtpools/confdb/aclocal_cc.m4 +index 36b44216d36dd8db..cafb5a6ae137f750 100644 +--- a/test/mpi/dtpools/confdb/aclocal_cc.m4 ++++ b/test/mpi/dtpools/confdb/aclocal_cc.m4 +@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s + #pragma weak PFoo_ = Foo + #pragma weak pfoo_ = Foo + int Foo(int); +- int Foo(a) { return a; } ++ int Foo(int a) { return a; } + ]])],[AC_LANG_SOURCE([[ + extern int PFoo(int), PFoo_(int), pfoo_(int); + int main() { diff --git a/mpich-configure-max_align_t.patch b/mpich-configure-max_align_t.patch new file mode 100644 index 0000000..bc20d05 --- /dev/null +++ b/mpich-configure-max_align_t.patch @@ -0,0 +1,18 @@ +Remove spurious argument to AC_CHECK_ALIGNOF, which caused this +configure test to fail. + +Submitted upstream: + +diff --git a/configure.ac b/configure.ac +index 3e2aa2cb7e828675..f76eb49833bb358c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2701,7 +2701,7 @@ if test "$MPID_NO_FLOAT16" != "yes" ; then + fi + + # ---------------------------------------------------------------------------- +-AC_CHECK_ALIGNOF([max_align_t],[0],[#include ]) ++AC_CHECK_ALIGNOF([max_align_t],[#include ]) + + if test "$ac_cv_alignof_max_align_t" != "0" ; then + AC_DEFINE_UNQUOTED(MAX_ALIGNMENT,$ac_cv_alignof_max_align_t,[Controls byte alignment of structures (for aligning allocated structures)]) diff --git a/mpich-json-configure-__thread.patch b/mpich-json-configure-__thread.patch new file mode 100644 index 0000000..2959ae8 --- /dev/null +++ b/mpich-json-configure-__thread.patch @@ -0,0 +1,17 @@ +Do not call undeclared exit function in __thread support check + +Submitted upstream: + +diff --git a/modules/json-c/configure.ac b/modules/json-c/configure.ac +index 9eb80bcf1c1d2e62..1511d7def23e8c39 100644 +--- a/modules/json-c/configure.ac ++++ b/modules/json-c/configure.ac +@@ -69,7 +69,7 @@ AC_CACHE_CHECK([for __thread support], ac_cv___thread, [dnl + AC_LINK_IFELSE([dnl + AC_LANG_PROGRAM([[#undef __thread + static __thread int a; int foo (int b) { return a + b; }]], +- [[exit (foo (0));]])], ++ [[return foo (0);]])], + ac_cv___thread=yes, ac_cv___thread=no) + ]) + AS_IF([test "x$ac_cv___thread" != xno], diff --git a/mpich.spec b/mpich.spec index 0e5ff89..bab838a 100644 --- a/mpich.spec +++ b/mpich.spec @@ -16,6 +16,10 @@ Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch Patch: 0004-Make-mpich.module-useful.patch # TODO: submit ^ upstream +Patch: mpich-configure-max_align_t.patch +Patch: mpich-aclocal_cc-implicit-int.patch +Patch: mpich-json-configure-__thread.patch + BuildRequires: make BuildRequires: autoconf BuildRequires: automake From 181eaa9b44e6e16d55c0bf5139d295a930d3a032 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 20:50:25 +0000 Subject: [PATCH 05/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 45ea8733593f8d4003fee9a1dfaec51be1dd14ec Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 13 Feb 2023 10:28:35 -0500 Subject: [PATCH 06/43] Backport PR#6374 to fix MPI_allgatherv fastpath error (cherry picked from commit 2400e5803f7ea3ef5fa4034ac90f2c6361f1257d) --- 6374.patch | 38 ++++++++++++++++++++++++++++++++++++++ mpich.spec | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 6374.patch diff --git a/6374.patch b/6374.patch new file mode 100644 index 0000000..9471ae6 --- /dev/null +++ b/6374.patch @@ -0,0 +1,38 @@ +From 2b8c5c7dc4974fc471b446e6cc939936aa14fd8f Mon Sep 17 00:00:00 2001 +From: Hui Zhou +Date: Sat, 21 Jan 2023 10:35:32 -0600 +Subject: [PATCH] coll: fix allgatherv early return case + +The localcopy omitted considering displs. +--- + src/binding/c/coll_api.txt | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/src/binding/c/coll_api.txt b/src/binding/c/coll_api.txt +index 55be70d093e..d288272e2f3 100644 +--- a/src/binding/c/coll_api.txt ++++ b/src/binding/c/coll_api.txt +@@ -57,7 +57,10 @@ MPI_Allgatherv: + { -- early_return -- + if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { + if (sendbuf != MPI_IN_PLACE) { +- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); ++ MPI_Aint recvtype_extent; ++ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); ++ MPIR_Localcopy(sendbuf, sendcount, sendtype, ++ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); + } + goto fn_exit; + } +@@ -188,7 +191,10 @@ MPI_Iallgatherv: + { -- early_return -- + if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { + if (sendbuf != MPI_IN_PLACE) { +- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); ++ MPI_Aint recvtype_extent; ++ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); ++ MPIR_Localcopy(sendbuf, sendcount, sendtype, ++ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); + } + MPIR_Request *request_ptr = MPIR_Request_create_complete(MPIR_REQUEST_KIND__COLL); + *request = request_ptr->handle; diff --git a/mpich.spec b/mpich.spec index bab838a..25f413f 100644 --- a/mpich.spec +++ b/mpich.spec @@ -15,6 +15,8 @@ Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch Patch: 0004-Make-mpich.module-useful.patch # TODO: submit ^ upstream +# https://github.com/pmodels/mpich/pull/6374 +Patch: 6374.patch Patch: mpich-configure-max_align_t.patch Patch: mpich-aclocal_cc-implicit-int.patch From d6ad862c2fa4fe176e07598b70d3b752a127f477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 21 Feb 2023 15:07:43 +0100 Subject: [PATCH 07/43] Drop unused .pth file for python2 --- mpich.pth.py2 | 1 - mpich.spec | 3 --- 2 files changed, 4 deletions(-) delete mode 100644 mpich.pth.py2 diff --git a/mpich.pth.py2 b/mpich.pth.py2 deleted file mode 100644 index a2dc353..0000000 --- a/mpich.pth.py2 +++ /dev/null @@ -1 +0,0 @@ -import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s)) diff --git a/mpich.spec b/mpich.spec index 25f413f..001474a 100644 --- a/mpich.spec +++ b/mpich.spec @@ -7,7 +7,6 @@ URL: https://www.mpich.org/ Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz Source1: mpich.macros -Source2: mpich.pth.py2 Source3: mpich.pth.py3 Patch: 0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch @@ -189,8 +188,6 @@ cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh} install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name} # Install the .pth files -mkdir -p %{buildroot}%{python2_sitearch}/%{name} -install -pDm0644 %{SOURCE2} %{buildroot}%{python2_sitearch}/%{name}.pth mkdir -p %{buildroot}%{python3_sitearch}/%{name} install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth From db223e3554317861a817e1ef8f229b26cc8f6276 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 16 Feb 2023 19:36:11 -0700 Subject: [PATCH 08/43] Update to 4.0.3 ... (https://www.mpich.org/2022/11/08/mpich-4-0-3-released/) --- .gitignore | 1 + mpich.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2dbd305..2a4f638 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /mpich-3.4.tar.gz /mpich-3.4.1.tar.gz /mpich-4.0.2.tar.gz +/mpich-4.0.3.tar.gz diff --git a/mpich.spec b/mpich.spec index 001474a..64f58d2 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.0.2 +Version: 4.0.3 Release: %autorelease License: MIT URL: https://www.mpich.org/ diff --git a/sources b/sources index c9bacd5..e4fb767 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.0.2.tar.gz) = 42b7d8ffee5314cdf9b9f75a2b864f7686066ef86cc225feac7f25c7a487b45636df51c0bbc2d677992e07ed62ae24daf73617f2b44b0dacc6ff69f4e66a9208 +SHA512 (mpich-4.0.3.tar.gz) = d1463dca8f0073cee6a2db894dbb3889986c6ee6353577f778abc38c90a06afb960e3dbbe87d3c2f284e32650b723a153a143f10b32e4a3bfe6087682ffe9649 From 91fddcde5e65072503cca755fecbb1698a1ace7f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 1 Mar 2023 20:00:02 -0700 Subject: [PATCH 09/43] Update to 4.1; Switch to default ch4:ofi device --- .gitignore | 1 + ...-e.g.-specs.-and-lto-from-mpi-wrappe.patch | 111 +++++++----------- 6374.patch | 38 ------ mpich-aclocal_cc-implicit-int.patch | 71 +++-------- mpich.spec | 13 +- sources | 2 +- 6 files changed, 65 insertions(+), 171 deletions(-) delete mode 100644 6374.patch diff --git a/.gitignore b/.gitignore index 2a4f638..8492009 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /mpich-3.4.1.tar.gz /mpich-4.0.2.tar.gz /mpich-4.0.3.tar.gz +/mpich-4.1.tar.gz diff --git a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch index 613d7c4..487f1c5 100644 --- a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch +++ b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch @@ -1,145 +1,118 @@ -From e4f0e86f815d8bd3dbb7cccf660bae6ab7f302dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 10 Apr 2022 09:35:14 +0200 -Subject: [PATCH 3/4] Drop build flags, e.g. -specs... and -lto from mpi +From 030214c7084cf5aaf4372147f48343b9915ca743 Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Wed, 1 Mar 2023 19:24:41 -0700 +Subject: [PATCH 3/3] Drop build flags, e.g. -specs... and -lto from mpi wrappers (mpicc and mpicxx) For discussion see: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7TFWEKTDWBYBHEGMIWBVI3AVGORZGNBS/ --- - src/env/mpicc.bash.in | 8 ++++---- - src/env/mpicc.sh.in | 8 ++++---- - src/env/mpicxx.bash.in | 8 ++++---- - src/env/mpicxx.sh.in | 8 ++++---- - src/env/mpifort.bash.in | 6 +++--- - src/env/mpifort.sh.in | 6 +++--- - 6 files changed, 22 insertions(+), 22 deletions(-) + src/env/mpicc.bash.in | 6 +++--- + src/env/mpicc.sh.in | 6 +++--- + src/env/mpicxx.bash.in | 6 +++--- + src/env/mpicxx.sh.in | 6 +++--- + src/env/mpifort.bash.in | 4 ++-- + src/env/mpifort.sh.in | 4 ++-- + 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/env/mpicc.bash.in b/src/env/mpicc.bash.in -index 56d2dcb242..933ee22bf0 100644 +index 3fc695f..f31e436 100644 --- a/src/env/mpicc.bash.in +++ b/src/env/mpicc.bash.in -@@ -247,13 +247,13 @@ if [ -n "$profConf" ] ; then +@@ -247,9 +247,9 @@ if [ -n "$profConf" ] ; then fi fi -final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@" -final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@" -final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_cflags="@MPICH_MPICC_CFLAGS@ " -+final_cppflags="@MPICH_MPICC_CPPFLAGS@ " -+final_ldflags="@MPICH_MPICC_LDFLAGS@ " ++final_cflags="@MPICH_MPICC_CFLAGS@" ++final_cppflags="@MPICH_MPICC_CPPFLAGS@" ++final_ldflags="@MPICH_MPICC_LDFLAGS@" final_libs="@MPICH_MPICC_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # ----------------------------------------------------------------------- diff --git a/src/env/mpicc.sh.in b/src/env/mpicc.sh.in -index 654131528e..4ebdc8b6ef 100644 +index 99a8c90..89ef111 100644 --- a/src/env/mpicc.sh.in +++ b/src/env/mpicc.sh.in -@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then +@@ -253,9 +253,9 @@ if [ -n "$profConf" ] ; then fi fi -final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@" -final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@" -final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_cflags="@MPICH_MPICC_CFLAGS@ " -+final_cppflags="@MPICH_MPICC_CPPFLAGS@ " -+final_ldflags="@MPICH_MPICC_LDFLAGS@ " ++final_cflags="@MPICH_MPICC_CFLAGS@" ++final_cppflags="@MPICH_MPICC_CPPFLAGS@" ++final_ldflags="@MPICH_MPICC_LDFLAGS@" final_libs="@MPICH_MPICC_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # ----------------------------------------------------------------------- diff --git a/src/env/mpicxx.bash.in b/src/env/mpicxx.bash.in -index 10d11e3fba..4066bb46f2 100644 +index 29566ba..f80882e 100644 --- a/src/env/mpicxx.bash.in +++ b/src/env/mpicxx.bash.in -@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then +@@ -253,9 +253,9 @@ if [ -n "$profConf" ] ; then fi fi -final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@" -final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@" -final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ " -+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ " -+final_ldflags="@MPICH_MPICXX_LDFLAGS@ " ++final_cxxflags="@MPICH_MPICXX_CXXFLAGS@" ++final_cppflags="@MPICH_MPICXX_CPPFLAGS@" ++final_ldflags="@MPICH_MPICXX_LDFLAGS@" final_libs="@MPICH_MPICXX_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler diff --git a/src/env/mpicxx.sh.in b/src/env/mpicxx.sh.in -index 1c0078100f..2c090cb06c 100644 +index 0b830fe..32dab65 100644 --- a/src/env/mpicxx.sh.in +++ b/src/env/mpicxx.sh.in -@@ -259,13 +259,13 @@ if [ -n "$profConf" ] ; then +@@ -259,9 +259,9 @@ if [ -n "$profConf" ] ; then fi fi -final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@" -final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@" -final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ " -+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ " -+final_ldflags="@MPICH_MPICXX_LDFLAGS@ " ++final_cxxflags="@MPICH_MPICXX_CXXFLAGS@" ++final_cppflags="@MPICH_MPICXX_CPPFLAGS@" ++final_ldflags="@MPICH_MPICXX_LDFLAGS@" final_libs="@MPICH_MPICXX_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler diff --git a/src/env/mpifort.bash.in b/src/env/mpifort.bash.in -index 1130c57986..91a6cb56c5 100644 +index 5312aea..2322b4f 100644 --- a/src/env/mpifort.bash.in +++ b/src/env/mpifort.bash.in -@@ -335,12 +335,12 @@ elif [ -n "$FCMODINC" ] ; then +@@ -335,8 +335,8 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi -final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@" -final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ " -+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ " ++final_fcflags="@MPICH_MPIFORT_FCFLAGS@" ++final_ldflags="@MPICH_MPIFORT_LDFLAGS@" final_libs="@MPICH_MPIFORT_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in -index a1e7f4dd8e..9d89a8bbe7 100644 +index 902b0f7..665fe85 100644 --- a/src/env/mpifort.sh.in +++ b/src/env/mpifort.sh.in -@@ -352,12 +352,12 @@ elif [ -n "$FCMODINC" ] ; then +@@ -352,8 +352,8 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi -final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@" -final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@" -+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ " -+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ " ++final_fcflags="@MPICH_MPIFORT_FCFLAGS@" ++final_ldflags="@MPICH_MPIFORT_LDFLAGS@" final_libs="@MPICH_MPIFORT_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" -- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " - fi - - # A temporary statement to invoke the compiler +-- +2.39.2 + diff --git a/6374.patch b/6374.patch deleted file mode 100644 index 9471ae6..0000000 --- a/6374.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2b8c5c7dc4974fc471b446e6cc939936aa14fd8f Mon Sep 17 00:00:00 2001 -From: Hui Zhou -Date: Sat, 21 Jan 2023 10:35:32 -0600 -Subject: [PATCH] coll: fix allgatherv early return case - -The localcopy omitted considering displs. ---- - src/binding/c/coll_api.txt | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/binding/c/coll_api.txt b/src/binding/c/coll_api.txt -index 55be70d093e..d288272e2f3 100644 ---- a/src/binding/c/coll_api.txt -+++ b/src/binding/c/coll_api.txt -@@ -57,7 +57,10 @@ MPI_Allgatherv: - { -- early_return -- - if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { - if (sendbuf != MPI_IN_PLACE) { -- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); -+ MPI_Aint recvtype_extent; -+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); -+ MPIR_Localcopy(sendbuf, sendcount, sendtype, -+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); - } - goto fn_exit; - } -@@ -188,7 +191,10 @@ MPI_Iallgatherv: - { -- early_return -- - if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { - if (sendbuf != MPI_IN_PLACE) { -- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); -+ MPI_Aint recvtype_extent; -+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); -+ MPIR_Localcopy(sendbuf, sendcount, sendtype, -+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); - } - MPIR_Request *request_ptr = MPIR_Request_create_complete(MPIR_REQUEST_KIND__COLL); - *request = request_ptr->handle; diff --git a/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch index 2f6ec43..e093283 100644 --- a/mpich-aclocal_cc-implicit-int.patch +++ b/mpich-aclocal_cc-implicit-int.patch @@ -6,10 +6,10 @@ revision. Submitted upstream: diff --git a/confdb/aclocal_cc.m4 b/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/confdb/aclocal_cc.m4 +++ b/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -19,7 +19,7 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 -index 8a1552d561306f24..cd28a4f937eaf824 100644 +index 8a1552d..cd28a4f 100644 --- a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 +++ b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 @@ -383,7 +383,7 @@ extern int pfoo_(int); @@ -32,7 +32,7 @@ index 8a1552d561306f24..cd28a4f937eaf824 100644 ],[ AC_LANG_SOURCE([ diff --git a/modules/yaksa/m4/aclocal_cc.m4 b/modules/yaksa/m4/aclocal_cc.m4 -index d15d6741602daf07..9fcf48527653ff01 100644 +index d15d674..9fcf485 100644 --- a/modules/yaksa/m4/aclocal_cc.m4 +++ b/modules/yaksa/m4/aclocal_cc.m4 @@ -422,7 +422,7 @@ extern int pfoo_(int); @@ -45,10 +45,10 @@ index d15d6741602daf07..9fcf48527653ff01 100644 ],[ AC_LANG_SOURCE([ diff --git a/src/mpi/romio/confdb/aclocal_cc.m4 b/src/mpi/romio/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpi/romio/confdb/aclocal_cc.m4 +++ b/src/mpi/romio/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -58,10 +58,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 +++ b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -71,10 +71,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/mpl/confdb/aclocal_cc.m4 b/src/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpl/confdb/aclocal_cc.m4 +++ b/src/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -84,49 +84,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/pm/hydra/confdb/aclocal_cc.m4 b/src/pm/hydra/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/pm/hydra/confdb/aclocal_cc.m4 +++ b/src/pm/hydra/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra2/confdb/aclocal_cc.m4 b/src/pm/hydra2/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra2/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra2/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -136,10 +97,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/test/mpi/confdb/aclocal_cc.m4 b/test/mpi/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/test/mpi/confdb/aclocal_cc.m4 +++ b/test/mpi/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -149,10 +110,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/test/mpi/dtpools/confdb/aclocal_cc.m4 b/test/mpi/dtpools/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/test/mpi/dtpools/confdb/aclocal_cc.m4 +++ b/test/mpi/dtpools/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); diff --git a/mpich.spec b/mpich.spec index 64f58d2..357569e 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.0.3 +Version: 4.1 Release: %autorelease License: MIT URL: https://www.mpich.org/ @@ -14,8 +14,6 @@ Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch Patch: 0004-Make-mpich.module-useful.patch # TODO: submit ^ upstream -# https://github.com/pmodels/mpich/pull/6374 -Patch: 6374.patch Patch: mpich-configure-max_align_t.patch Patch: mpich-aclocal_cc-implicit-int.patch @@ -127,9 +125,7 @@ CONFIGURE_OPTS=( --enable-lib-depend --disable-rpath --disable-silent-rules - --enable-fortran --with-gnu-ld - --with-device=ch3:nemesis --with-pm=hydra:gforker --includedir=%{_includedir}/%{name}-%{_arch} --bindir=%{_libdir}/%{name}/bin @@ -138,10 +134,11 @@ CONFIGURE_OPTS=( --mandir=%{_mandir}/%{name}-%{_arch} --docdir=%{_datadir}/%{name}/doc --htmldir=%{_datadir}/%{name}/doc - --with-hwloc-prefix=system - --with-libfabric=system - --with-ucx=system + --with-hwloc + --with-libfabric + --with-ucx ) +# --with-device=ch3:nemesis # Set -fallow-argument-mismatch for #1795817 %configure "${CONFIGURE_OPTS[@]}" \ diff --git a/sources b/sources index e4fb767..040a2f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.0.3.tar.gz) = d1463dca8f0073cee6a2db894dbb3889986c6ee6353577f778abc38c90a06afb960e3dbbe87d3c2f284e32650b723a153a143f10b32e4a3bfe6087682ffe9649 +SHA512 (mpich-4.1.tar.gz) = 950d27d8b6e2e58971312eb98cc263860f024a34a6e61dcf0fa5ff0156e8089ba268e25ee8f602aadd748fe066481b81e3442a296e54af3aea829f43b7b5f1bf From c0375f1c3cb50d0bc725525d5a1083ea62dccb97 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 1 Mar 2023 21:39:30 -0700 Subject: [PATCH 10/43] Use ucx only on supported arches --- mpich.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mpich.spec b/mpich.spec index 357569e..77d4e1a 100644 --- a/mpich.spec +++ b/mpich.spec @@ -136,7 +136,9 @@ CONFIGURE_OPTS=( --htmldir=%{_datadir}/%{name}/doc --with-hwloc --with-libfabric +%ifarch aarch64 ppc64le x86_64 --with-ucx +%endif ) # --with-device=ch3:nemesis From 4fc868d26c1e93f24637ff44de0678643e2e5fed Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 1 Mar 2023 21:41:06 -0700 Subject: [PATCH 11/43] Add various BuildRequires to fix build [skip changelog] --- mpich.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mpich.spec b/mpich.spec index 77d4e1a..3de41d7 100644 --- a/mpich.spec +++ b/mpich.spec @@ -27,7 +27,14 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: hwloc-devel >= 2.0 +%ifarch x86_64 +BuildRequires: infinipath-psm-devel +BuildRequires: libpsm2-devel +%endif BuildRequires: libfabric-devel +BuildRequires: libnl3-devel +BuildRequires: libuuid-devel +BuildRequires: numactl-devel %ifarch aarch64 ppc64le x86_64 BuildRequires: ucx-devel %endif From dbc72d62d31dffb330caac5d5562fd360715ad79 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 2 Mar 2023 17:56:27 -0700 Subject: [PATCH 12/43] Remove dependency libs from wrappers --- ...ptimization-and-link-flags-from-pkgc.patch | 2 +- ...o-drop-rpath-flags-from-pkgconf-file.patch | 4 +- ...-e.g.-specs.-and-lto-from-mpi-wrappe.patch | 74 +++++++++++++------ 3 files changed, 55 insertions(+), 25 deletions(-) diff --git a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch index 5a9b7b8..2fbee32 100644 --- a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch +++ b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch @@ -30,7 +30,7 @@ index e905ff2e20..ff6dc35807 100644 Requires: -Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ @WRAPPER_LDFLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ -Cflags: @WRAPPER_CPPFLAGS@ @WRAPPER_CFLAGS@ -I${includedir} -+Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ ++Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ +Cflags: @WRAPPER_CPPFLAGS@ -I${includedir} # pkg-config does not understand Cxxflags, etc. So we allow users to diff --git a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch index af7828c..46e6c13 100644 --- a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +++ b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch @@ -18,8 +18,8 @@ index ff6dc35807..5ad7e8bcbc 100644 Version: @MPICH_VERSION@ URL: http://www.mcs.anl.gov/research/projects/mpich Requires: --Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ -+Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ +-Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ ++Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ Cflags: @WRAPPER_CPPFLAGS@ -I${includedir} # pkg-config does not understand Cxxflags, etc. So we allow users to diff --git a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch index 487f1c5..ad427f7 100644 --- a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch +++ b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch @@ -1,25 +1,25 @@ -From 030214c7084cf5aaf4372147f48343b9915ca743 Mon Sep 17 00:00:00 2001 +From 695102787fde0b3adb3917b12b97f8c49f7f57a5 Mon Sep 17 00:00:00 2001 From: rpm-build -Date: Wed, 1 Mar 2023 19:24:41 -0700 +Date: Thu, 2 Mar 2023 17:50:52 -0700 Subject: [PATCH 3/3] Drop build flags, e.g. -specs... and -lto from mpi wrappers (mpicc and mpicxx) For discussion see: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7TFWEKTDWBYBHEGMIWBVI3AVGORZGNBS/ --- - src/env/mpicc.bash.in | 6 +++--- - src/env/mpicc.sh.in | 6 +++--- - src/env/mpicxx.bash.in | 6 +++--- - src/env/mpicxx.sh.in | 6 +++--- - src/env/mpifort.bash.in | 4 ++-- - src/env/mpifort.sh.in | 4 ++-- - 6 files changed, 16 insertions(+), 16 deletions(-) + src/env/mpicc.bash.in | 8 ++++---- + src/env/mpicc.sh.in | 8 ++++---- + src/env/mpicxx.bash.in | 8 ++++---- + src/env/mpicxx.sh.in | 8 ++++---- + src/env/mpifort.bash.in | 6 +++--- + src/env/mpifort.sh.in | 6 +++--- + 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/env/mpicc.bash.in b/src/env/mpicc.bash.in -index 3fc695f..f31e436 100644 +index 3fc695f..d8659e5 100644 --- a/src/env/mpicc.bash.in +++ b/src/env/mpicc.bash.in -@@ -247,9 +247,9 @@ if [ -n "$profConf" ] ; then +@@ -247,13 +247,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -32,11 +32,16 @@ index 3fc695f..f31e436 100644 final_libs="@MPICH_MPICC_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + # ----------------------------------------------------------------------- diff --git a/src/env/mpicc.sh.in b/src/env/mpicc.sh.in -index 99a8c90..89ef111 100644 +index 99a8c90..e093907 100644 --- a/src/env/mpicc.sh.in +++ b/src/env/mpicc.sh.in -@@ -253,9 +253,9 @@ if [ -n "$profConf" ] ; then +@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -49,11 +54,16 @@ index 99a8c90..89ef111 100644 final_libs="@MPICH_MPICC_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + # ----------------------------------------------------------------------- diff --git a/src/env/mpicxx.bash.in b/src/env/mpicxx.bash.in -index 29566ba..f80882e 100644 +index 29566ba..acf897b 100644 --- a/src/env/mpicxx.bash.in +++ b/src/env/mpicxx.bash.in -@@ -253,9 +253,9 @@ if [ -n "$profConf" ] ; then +@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -66,11 +76,16 @@ index 29566ba..f80882e 100644 final_libs="@MPICH_MPICXX_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + # A temporary statement to invoke the compiler diff --git a/src/env/mpicxx.sh.in b/src/env/mpicxx.sh.in -index 0b830fe..32dab65 100644 +index 0b830fe..36c2486 100644 --- a/src/env/mpicxx.sh.in +++ b/src/env/mpicxx.sh.in -@@ -259,9 +259,9 @@ if [ -n "$profConf" ] ; then +@@ -259,13 +259,13 @@ if [ -n "$profConf" ] ; then fi fi @@ -83,11 +98,16 @@ index 0b830fe..32dab65 100644 final_libs="@MPICH_MPICXX_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + # A temporary statement to invoke the compiler diff --git a/src/env/mpifort.bash.in b/src/env/mpifort.bash.in -index 5312aea..2322b4f 100644 +index 5312aea..c1e557b 100644 --- a/src/env/mpifort.bash.in +++ b/src/env/mpifort.bash.in -@@ -335,8 +335,8 @@ elif [ -n "$FCMODINC" ] ; then +@@ -335,12 +335,12 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi @@ -98,11 +118,16 @@ index 5312aea..2322b4f 100644 final_libs="@MPICH_MPIFORT_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@" diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in -index 902b0f7..665fe85 100644 +index 902b0f7..95c1232 100644 --- a/src/env/mpifort.sh.in +++ b/src/env/mpifort.sh.in -@@ -352,8 +352,8 @@ elif [ -n "$FCMODINC" ] ; then +@@ -352,12 +352,12 @@ elif [ -n "$FCMODINC" ] ; then FCMODDIRS="${FCMODINC}$modincdir" fi @@ -113,6 +138,11 @@ index 902b0f7..665fe85 100644 final_libs="@MPICH_MPIFORT_LIBS@" if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then final_ldflags="${final_ldflags} @LDFLAGS@" +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" + fi + + extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@" -- -2.39.2 +2.40.0.rc1 From 2839aa2847e8467ec593b2425c37ef5ef8f884f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 20 May 2023 18:38:27 +0200 Subject: [PATCH 13/43] Version 4.4.1 ... (rhbz#2082757) --- .gitignore | 1 + mpich.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8492009..cea23a1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /mpich-4.0.2.tar.gz /mpich-4.0.3.tar.gz /mpich-4.1.tar.gz +/mpich-4.1.1.tar.gz diff --git a/mpich.spec b/mpich.spec index 3de41d7..5e34280 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.1 +Version: 4.1.1 Release: %autorelease License: MIT URL: https://www.mpich.org/ diff --git a/sources b/sources index 040a2f2..7775d0e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.1.tar.gz) = 950d27d8b6e2e58971312eb98cc263860f024a34a6e61dcf0fa5ff0156e8089ba268e25ee8f602aadd748fe066481b81e3442a296e54af3aea829f43b7b5f1bf +SHA512 (mpich-4.1.1.tar.gz) = 9a0920c5f412e15be0b94aba8750175fb49c4f60463a4290a9ca0aa24af425a720bf546ec7f2b9aa1b5d530f065310f5c4ec85aadfda6355d8039b13ca3718ee From 45b47a9032c668b0efcd1df0f633243df87a1021 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 20:22:53 +0200 Subject: [PATCH 14/43] Rebuilt for Python 3.12 From c44d61cb86643e5c167b8078cadf3d76df1e5f68 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 9 Jul 2023 22:40:45 -0400 Subject: [PATCH 15/43] Disable PSM, PSM2 in ELN builds Development of these hardware has ceased, and these packages are unwanted in RHEL 10. --- mpich.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mpich.spec b/mpich.spec index 5e34280..9331a7e 100644 --- a/mpich.spec +++ b/mpich.spec @@ -27,10 +27,12 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: hwloc-devel >= 2.0 +%if ! (0%{?rhel} >= 10) %ifarch x86_64 BuildRequires: infinipath-psm-devel BuildRequires: libpsm2-devel %endif +%endif BuildRequires: libfabric-devel BuildRequires: libnl3-devel BuildRequires: libuuid-devel From 6e33991713a4907ff966b6bb6a87c920bcec41d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 18 Jul 2023 10:02:52 +0200 Subject: [PATCH 16/43] Version 4.1.2 ... (rhbz#2213689) --- .gitignore | 1 + mpich.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index cea23a1..2c227e7 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /mpich-4.0.3.tar.gz /mpich-4.1.tar.gz /mpich-4.1.1.tar.gz +/mpich-4.1.2.tar.gz diff --git a/mpich.spec b/mpich.spec index 9331a7e..701d49b 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.1.1 +Version: 4.1.2 Release: %autorelease License: MIT URL: https://www.mpich.org/ diff --git a/sources b/sources index 7775d0e..9eceb11 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.1.1.tar.gz) = 9a0920c5f412e15be0b94aba8750175fb49c4f60463a4290a9ca0aa24af425a720bf546ec7f2b9aa1b5d530f065310f5c4ec85aadfda6355d8039b13ca3718ee +SHA512 (mpich-4.1.2.tar.gz) = d1056374ef9ecb6d7816637b6709497e5bc63c3b0af8dfef461aa71a59f9f805b07d80a735eb1511748e78a9260ed967b0597e64a935850fcba1dfef7bf43775 From a5d67cc1e4720fd23a48a83b856d8a5e00fb8fb2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 15:54:26 +0000 Subject: [PATCH 17/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 03ee7f4b2ba98ba9836db3fa6d07fec5f9419363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 31 Jul 2023 08:40:01 +0200 Subject: [PATCH 18/43] Use separate yaksa I made a new package for yaksa, but forgot to make use of it mpich :( --- mpich.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mpich.spec b/mpich.spec index 701d49b..c4e62d9 100644 --- a/mpich.spec +++ b/mpich.spec @@ -30,6 +30,7 @@ BuildRequires: hwloc-devel >= 2.0 %if ! (0%{?rhel} >= 10) %ifarch x86_64 BuildRequires: infinipath-psm-devel +BuildRequires: json-c-devel BuildRequires: libpsm2-devel %endif %endif @@ -40,6 +41,7 @@ BuildRequires: numactl-devel %ifarch aarch64 ppc64le x86_64 BuildRequires: ucx-devel %endif +BuildRequires: yaksa-devel # For ./maint/extractcvars BuildRequires: perl(lib) %ifnarch s390 %{mips} @@ -134,6 +136,7 @@ CONFIGURE_OPTS=( --enable-lib-depend --disable-rpath --disable-silent-rules + --disable-dependency-tracking --with-gnu-ld --with-pm=hydra:gforker --includedir=%{_includedir}/%{name}-%{_arch} @@ -148,6 +151,7 @@ CONFIGURE_OPTS=( %ifarch aarch64 ppc64le x86_64 --with-ucx %endif + --with-yaksa ) # --with-device=ch3:nemesis From 9d70e9040b8c11ca85a8b3e0285aed7ee2eb38ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 31 Jul 2023 09:24:32 +0200 Subject: [PATCH 19/43] Comment out unused build dependency I committed this not as a comment by mistake. There seems to be no provision to not use the bundled copy. The comment shall serve as a reminder. [skip changelog] --- mpich.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpich.spec b/mpich.spec index c4e62d9..b0269f0 100644 --- a/mpich.spec +++ b/mpich.spec @@ -30,7 +30,7 @@ BuildRequires: hwloc-devel >= 2.0 %if ! (0%{?rhel} >= 10) %ifarch x86_64 BuildRequires: infinipath-psm-devel -BuildRequires: json-c-devel +# BuildRequires: json-c-devel BuildRequires: libpsm2-devel %endif %endif From e983f61ee7a096a9f847805276b531201f563dd4 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 31 Jul 2023 19:20:48 -0400 Subject: [PATCH 20/43] Use bundled yaksa in RHEL builds --- mpich.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mpich.spec b/mpich.spec index b0269f0..15e285c 100644 --- a/mpich.spec +++ b/mpich.spec @@ -41,7 +41,11 @@ BuildRequires: numactl-devel %ifarch aarch64 ppc64le x86_64 BuildRequires: ucx-devel %endif +%if ! 0%{?rhel} BuildRequires: yaksa-devel +%else +Provides: bundled(yaksa) = 0.2 +%endif # For ./maint/extractcvars BuildRequires: perl(lib) %ifnarch s390 %{mips} @@ -151,7 +155,9 @@ CONFIGURE_OPTS=( %ifarch aarch64 ppc64le x86_64 --with-ucx %endif +%if ! 0%{?rhel} --with-yaksa +%endif ) # --with-device=ch3:nemesis From a862bd18913885286f1a77fdb765e18e65c47245 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Fri, 29 Sep 2023 06:43:44 +0000 Subject: [PATCH 21/43] Mpich should own cmake and include install directories Make sure that packages which install cmake and include files in Mpich locations do not need to own the main directories for Mpich. --- mpich.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mpich.spec b/mpich.spec index 15e285c..2c4c454 100644 --- a/mpich.spec +++ b/mpich.spec @@ -232,6 +232,8 @@ make check VERBOSE=1 \ %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/lib %dir %{_libdir}/%{name}/bin +%dir %{_libdir}/%{name}/lib/cmake +%dir %{_libdir}/%{name}/include %{_libdir}/%{name}/lib/*.so.* %{_libdir}/%{name}/bin/hydra* %{_libdir}/%{name}/bin/mpichversion From de1cf4c29ae0ddc01250a84da24998ee3afe1b30 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sat, 30 Sep 2023 04:17:34 +0000 Subject: [PATCH 22/43] Create directories for MPICH package development files --- mpich.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mpich.spec b/mpich.spec index 2c4c454..6b2e8f1 100644 --- a/mpich.spec +++ b/mpich.spec @@ -212,6 +212,10 @@ install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth # Create cmake directory mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/ +# Create directories for MPICH application development files +mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake +mkdir -p %{buildroot}%{_libdir}/%{name}/include + find %{buildroot} -type f -name "*.la" -delete %check From 362681d20cd2ba5e7fe60115a1231ad0d3c40902 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Tue, 10 Oct 2023 07:51:47 +0000 Subject: [PATCH 23/43] Own %{_fmoddir}/mpich --- mpich.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/mpich.spec b/mpich.spec index 6b2e8f1..f5482d4 100644 --- a/mpich.spec +++ b/mpich.spec @@ -238,6 +238,7 @@ make check VERBOSE=1 \ %dir %{_libdir}/%{name}/bin %dir %{_libdir}/%{name}/lib/cmake %dir %{_libdir}/%{name}/include +%dir %{_fmoddir}/mpich %{_libdir}/%{name}/lib/*.so.* %{_libdir}/%{name}/bin/hydra* %{_libdir}/%{name}/bin/mpichversion From 36b1aa0853ed7d99e63b902d13160c8a33d60858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 21 Nov 2023 16:31:23 +0100 Subject: [PATCH 24/43] Convert license tag to SPDX --- mpich.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpich.spec b/mpich.spec index f5482d4..794705c 100644 --- a/mpich.spec +++ b/mpich.spec @@ -2,7 +2,7 @@ Summary: A high-performance implementation of MPI Name: mpich Version: 4.1.2 Release: %autorelease -License: MIT +License: mpich2 URL: https://www.mpich.org/ Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz From b5e91d9014f374af9560b08d3980a5d9aaf88d8c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 08:45:25 +0000 Subject: [PATCH 25/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From de301eb66b93215af62c731ee9352553b3134d1d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 08:12:06 +0000 Subject: [PATCH 26/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 66f0030ea866f58a6499ce6bfb24dd201f57529b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 29 Jan 2024 14:43:42 +0100 Subject: [PATCH 27/43] Drop dependency on ftbfs infinipath-psm --- mpich.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/mpich.spec b/mpich.spec index 794705c..cde3af5 100644 --- a/mpich.spec +++ b/mpich.spec @@ -29,7 +29,6 @@ BuildRequires: gcc-gfortran BuildRequires: hwloc-devel >= 2.0 %if ! (0%{?rhel} >= 10) %ifarch x86_64 -BuildRequires: infinipath-psm-devel # BuildRequires: json-c-devel BuildRequires: libpsm2-devel %endif From a9297c32c665a5c9fe53100a78135b290a8bbb2f Mon Sep 17 00:00:00 2001 From: Cristian Le Date: Thu, 12 Oct 2023 10:19:22 +0200 Subject: [PATCH 28/43] Added CMAKE_PREFIX_PATH to the module file ... to unsure that CMake projects find the available MPI enabled packages, libraries, executables, etc. The motivation is that CMake projects will search first in the CMAKE_PREFIX_PATH, both for cmake specific files like Config.cmake as well as libraries and header files in general. Adding this variable is crucial to making sure that the MPI versions take precedence over the serial versions. --- 0004-Make-mpich.module-useful.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/0004-Make-mpich.module-useful.patch b/0004-Make-mpich.module-useful.patch index 2d5d1ea..ac2a39d 100644 --- a/0004-Make-mpich.module-useful.patch +++ b/0004-Make-mpich.module-useful.patch @@ -42,3 +42,4 @@ index 3d6b4fa623..b8283274ee 100644 +prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path MANPATH :@mandir@ +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig ++prepend-path CMAKE_PREFIX_PATH @LIBDIR@ From 8ab714f2c67838aab53c0b9c5f87396b2ca33c46 Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Fri, 10 Nov 2023 10:24:59 +0200 Subject: [PATCH 29/43] Properly check valgrind arches Signed-off-by: David Abdurachmanov --- mpich.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpich.spec b/mpich.spec index cde3af5..077fc35 100644 --- a/mpich.spec +++ b/mpich.spec @@ -47,7 +47,7 @@ Provides: bundled(yaksa) = 0.2 %endif # For ./maint/extractcvars BuildRequires: perl(lib) -%ifnarch s390 %{mips} +%ifarch %{valgrind_arches} BuildRequires: valgrind-devel %endif # For %%{python3_sitearch} From 94935be6fc9d18ba7d3e69d8ac4ea94ed6297d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Fri, 19 Apr 2024 08:37:46 +0200 Subject: [PATCH 30/43] Version 4.2.1 ... (rhbz#2249294) --- .gitignore | 1 + mpich.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2c227e7..6ed873d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /mpich-4.1.tar.gz /mpich-4.1.1.tar.gz /mpich-4.1.2.tar.gz +/mpich-4.2.1.tar.gz diff --git a/mpich.spec b/mpich.spec index 077fc35..d1f8e49 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.1.2 +Version: 4.2.1 Release: %autorelease License: mpich2 URL: https://www.mpich.org/ diff --git a/sources b/sources index 9eceb11..a370bd4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.1.2.tar.gz) = d1056374ef9ecb6d7816637b6709497e5bc63c3b0af8dfef461aa71a59f9f805b07d80a735eb1511748e78a9260ed967b0597e64a935850fcba1dfef7bf43775 +SHA512 (mpich-4.2.1.tar.gz) = 822e1c22a3ca927c6a2fb1c74ff68140a91ed19fd533c26c1eb7e6c2737bca4735e41dd77add45ba583fadc389dec029af5b174729aaef7447a21b89d78513c6 From 5f6ad30eda45e5b8a5613609908488e87945bf50 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 08:33:00 +0200 Subject: [PATCH 31/43] Rebuilt for Python 3.13 From cdde714948898f4029125a836ecec79373142797 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 18:46:11 +0000 Subject: [PATCH 32/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 78a6b78ec3c858dee8d7cd5d83388ebd1260e2f6 Mon Sep 17 00:00:00 2001 From: David Bold Date: Tue, 23 Apr 2024 14:09:59 +0200 Subject: [PATCH 33/43] Remove parkill --- mpich.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mpich.spec b/mpich.spec index d1f8e49..8f1b3ba 100644 --- a/mpich.spec +++ b/mpich.spec @@ -217,6 +217,9 @@ mkdir -p %{buildroot}%{_libdir}/%{name}/include find %{buildroot} -type f -name "*.la" -delete +rm %{buildroot}%{_libdir}/%{name}/bin/parkill + + %check make check VERBOSE=1 \ %ifarch ppc64le @@ -244,7 +247,6 @@ make check VERBOSE=1 \ %{_libdir}/%{name}/bin/mpiexec* %{_libdir}/%{name}/bin/mpirun %{_libdir}/%{name}/bin/mpivars -%{_libdir}/%{name}/bin/parkill %dir %{_mandir}/%{name}-%{_arch} %doc %{_mandir}/%{name}-%{_arch}/man1/ %{_datadir}/modulefiles/mpi/ From 48d3a0fdfdb6bc2959718eee2658658dbeac21c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 9 Sep 2024 13:40:05 +0200 Subject: [PATCH 34/43] Version 4.2.2 ... (rhbz#2295613) - Just a bunch of localized bugfixes --- .gitignore | 1 + mpich.spec | 2 +- sources | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6ed873d..c1daaca 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /mpich-4.1.1.tar.gz /mpich-4.1.2.tar.gz /mpich-4.2.1.tar.gz +/mpich-4.2.2.tar.gz diff --git a/mpich.spec b/mpich.spec index 8f1b3ba..0bfc6ed 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,6 +1,6 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.2.1 +Version: 4.2.2 Release: %autorelease License: mpich2 URL: https://www.mpich.org/ diff --git a/sources b/sources index a370bd4..09a5e12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.2.1.tar.gz) = 822e1c22a3ca927c6a2fb1c74ff68140a91ed19fd533c26c1eb7e6c2737bca4735e41dd77add45ba583fadc389dec029af5b174729aaef7447a21b89d78513c6 +SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757 From 0ba6fefefcb3082f809867db4a3c64a408b50a68 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 19:14:03 +0000 Subject: [PATCH 35/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 8bf5ebcd02f152219951811882c1683c5d315301 Mon Sep 17 00:00:00 2001 From: David Abdurachmanov Date: Fri, 27 Sep 2024 10:28:46 +0300 Subject: [PATCH 36/43] Enable ucx for riscv64 Signed-off-by: David Abdurachmanov --- mpich.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mpich.spec b/mpich.spec index 0bfc6ed..173a671 100644 --- a/mpich.spec +++ b/mpich.spec @@ -37,7 +37,7 @@ BuildRequires: libfabric-devel BuildRequires: libnl3-devel BuildRequires: libuuid-devel BuildRequires: numactl-devel -%ifarch aarch64 ppc64le x86_64 +%ifarch aarch64 ppc64le x86_64 riscv64 BuildRequires: ucx-devel %endif %if ! 0%{?rhel} @@ -151,7 +151,7 @@ CONFIGURE_OPTS=( --htmldir=%{_datadir}/%{name}/doc --with-hwloc --with-libfabric -%ifarch aarch64 ppc64le x86_64 +%ifarch aarch64 ppc64le x86_64 riscv64 --with-ucx %endif %if ! 0%{?rhel} From c192fcb977b273f19d089d91a2ac324cc128a68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 26 Feb 2025 17:08:03 +0100 Subject: [PATCH 37/43] Actually add CMAKE_PREFIX_PATH to the module file ... (rhbz#2347503) The patch was edited manually in a way that caused the newly added addition to be ignored. --- 0004-Make-mpich.module-useful.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/0004-Make-mpich.module-useful.patch b/0004-Make-mpich.module-useful.patch index ac2a39d..f18ef39 100644 --- a/0004-Make-mpich.module-useful.patch +++ b/0004-Make-mpich.module-useful.patch @@ -11,7 +11,7 @@ diff --git a/src/packaging/envmods/mpich.module.in b/src/packaging/envmods/mpich index 3d6b4fa623..b8283274ee 100644 --- a/src/packaging/envmods/mpich.module.in +++ b/src/packaging/envmods/mpich.module.in -@@ -3,12 +3,23 @@ +@@ -3,12 +3,24 @@ # MPICH module for use with 'environment-modules' package: # From ccead6c4e742e8654ca76cc74b9f735659355c8d Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 19:58:01 +0200 Subject: [PATCH 38/43] Rebuilt for Python 3.14 From a3880a2e0698c1ae700217721e1789449604c023 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 22:24:30 +0000 Subject: [PATCH 39/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 4660251a25f8432e55696590396423dc4cd55eb8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 21:41:00 +0000 Subject: [PATCH 40/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 265e2de242ae232d2a47452b72116703d2e0ac88 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 3 Jun 2026 17:37:34 +0200 Subject: [PATCH 41/43] Rebuilt for Python 3.15 From be25d8d4e78af32b2b0b57afdd02fb3e3a1fcc51 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jul 2026 09:02:59 +0000 Subject: [PATCH 42/43] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From 7deb332f1894b90ba3447c1a794d515cb4f1a553 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 22 Jul 2026 10:52:17 +0200 Subject: [PATCH 43/43] Rebuilt for Python 3.15.0b4 ABI change