diff --git a/.gitignore b/.gitignore index f3d483d..c1daaca 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,10 @@ /mpich-3.3.2.tar.gz /mpich-3.4.tar.gz /mpich-3.4.1.tar.gz +/mpich-4.0.2.tar.gz +/mpich-4.0.3.tar.gz +/mpich-4.1.tar.gz +/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/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 new file mode 100644 index 0000000..2fbee32 --- /dev/null +++ b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch @@ -0,0 +1,44 @@ +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 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 +be built with -O2. + +In package builds in Fedora we ended up with: + +WRAPPER_LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/mpich-3.4.1/.package_note-mpich-3.4.1-11.fc36.x86_64.ld -Lsystem/lib + +WRAPPER_CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection + +None of those are appropriate to be exported to dependent projects. +For https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects. +--- + src/packaging/pkgconfig/mpich.pc.in | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/packaging/pkgconfig/mpich.pc.in b/src/packaging/pkgconfig/mpich.pc.in +index e905ff2e20..ff6dc35807 100644 +--- a/src/packaging/pkgconfig/mpich.pc.in ++++ b/src/packaging/pkgconfig/mpich.pc.in +@@ -9,12 +9,12 @@ Description: High Performance and portable MPI + Version: @MPICH_VERSION@ + URL: http://www.mcs.anl.gov/research/projects/mpich + 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@ ++Cflags: @WRAPPER_CPPFLAGS@ -I${includedir} + + # pkg-config does not understand Cxxflags, etc. So we allow users to + # query them using the --variable option + +-cxxflags=@WRAPPER_CPPFLAGS@ @WRAPPER_CXXFLAGS@ -I${includedir} +-fflags=@WRAPPER_FFLAGS@ -I${includedir} +-fcflags=@WRAPPER_FCFLAGS@ -I${includedir} ++cxxflags=@WRAPPER_CPPFLAGS@ -I${includedir} ++fflags=-I${includedir} ++fcflags=-I${includedir} diff --git a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch new file mode 100644 index 0000000..46e6c13 --- /dev/null +++ b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch @@ -0,0 +1,25 @@ +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 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 +wrong in that case. +--- + src/packaging/pkgconfig/mpich.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/packaging/pkgconfig/mpich.pc.in b/src/packaging/pkgconfig/mpich.pc.in +index ff6dc35807..5ad7e8bcbc 100644 +--- a/src/packaging/pkgconfig/mpich.pc.in ++++ b/src/packaging/pkgconfig/mpich.pc.in +@@ -9,7 +9,7 @@ Description: High Performance and portable MPI + Version: @MPICH_VERSION@ + URL: http://www.mcs.anl.gov/research/projects/mpich + Requires: +-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 new file mode 100644 index 0000000..ad427f7 --- /dev/null +++ b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch @@ -0,0 +1,148 @@ +From 695102787fde0b3adb3917b12b97f8c49f7f57a5 Mon Sep 17 00:00:00 2001 +From: rpm-build +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 | 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..d8659e5 100644 +--- a/src/env/mpicc.bash.in ++++ b/src/env/mpicc.bash.in +@@ -247,13 +247,13 @@ 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_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..e093907 100644 +--- a/src/env/mpicc.sh.in ++++ b/src/env/mpicc.sh.in +@@ -253,13 +253,13 @@ 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_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..acf897b 100644 +--- a/src/env/mpicxx.bash.in ++++ b/src/env/mpicxx.bash.in +@@ -253,13 +253,13 @@ 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_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..36c2486 100644 +--- a/src/env/mpicxx.sh.in ++++ b/src/env/mpicxx.sh.in +@@ -259,13 +259,13 @@ 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_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..c1e557b 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 + +-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_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..95c1232 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 + +-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_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.40.0.rc1 + diff --git a/mpich-modules.patch b/0004-Make-mpich.module-useful.patch similarity index 65% rename from mpich-modules.patch rename to 0004-Make-mpich.module-useful.patch index d8d4ab2..f18ef39 100644 --- a/mpich-modules.patch +++ b/0004-Make-mpich.module-useful.patch @@ -1,6 +1,17 @@ ---- 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 -@@ -3,12 +3,23 @@ +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,24 @@ # MPICH module for use with 'environment-modules' package: # @@ -31,3 +42,4 @@ +prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path MANPATH :@mandir@ +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig ++prepend-path CMAKE_PREFIX_PATH @LIBDIR@ diff --git a/changelog b/changelog new file mode 100644 index 0000000..bd656b5 --- /dev/null +++ b/changelog @@ -0,0 +1,257 @@ +* Thu Jul 22 2021 Fedora Release Engineering - 3.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 3.4.1-2 +- Rebuilt for Python 3.10 + +* Mon May 17 2021 Zbigniew Jędrzejewski-Szmek - 3.4.1-1 +- Rip out part of configure.ac to fix build under autoconf-2.71 (#1943036) + +* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek - 3.4.1-1 +- Update to latest version (#1912981) + +* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek - 3.4-1 +- Update to latest version (#1912981) + +* Tue Jan 26 2021 Fedora Release Engineering - 3.3.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-8 +- Do not require non-loopback addresses in mpirun (#1839007) + +* Thu Aug 06 2020 Christoph Junghans - 3.3.2-7 +- Drop build flag from mpi wrappers + +* Tue Jul 28 2020 Fedora Release Engineering - 3.3.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon May 25 2020 Miro Hrončok - 3.3.2-5 +- Rebuilt for Python 3.9 + +* Fri Feb 14 2020 Christoph Junghans - 3.3.2-4 +- Add 4320.patch to fix #1793563 and #1799473 + +* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-3 +- Add requirement for redhat-rpm-config (#1795674) + +* Wed Jan 29 2020 Fedora Release Engineering - 3.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 3.3.2-1 +- Subpackage python2-mpich has been removed (#1773126) + +* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 3.3.2-1 +- Update to latest version (#1772152). This is a bugfix release: + https://github.com/pmodels/mpich/blob/v3.3.2/CHANGES. + +* Wed Aug 28 2019 Zbigniew Jędrzejewski-Szmek - 3.3.1-1 +- Really upgrade to 3.3.1 (#1745252) + +* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-1 +- "Upgrade" back to 3.2.1 (#1745252) + (I made a typo, and instead of *upgrading* to 3.3.1, I made a downgrade + to 3.1.1. Too bad that we don't have *any* automatic check that would + warn about this in Fedora. Version 3.3.1 requires a newer hwloc, but + some of the dependencies are not ready to switch. So let's "upgrade" + back to 3.2.1, and plan to 3.3.1 next week.) + +* Mon Aug 19 2019 Miro Hrončok - 3.1.1-2 +- Rebuilt for Python 3.8 + +* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek - 3.1.1-1 +- Update to latest version (#1718376) + +* Thu Jul 25 2019 Fedora Release Engineering - 3.2.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-12 +- Require main package and appropriate python version from python subpackages + +* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-11 +- Add a guard for python3 version (#1705296) +- Module files are moved to /usr/share/modulefiles/mpi/ + +* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-10 +- Drop all custom compilation and link flags (#1573088) + +* Fri Feb 01 2019 Fedora Release Engineering - 3.2.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 3.2.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 3.2.1-7 +- Rebuilt for Python 3.7 + +* Tue Jun 19 2018 Miro Hrončok - 3.2.1-6 +- Rebuilt for Python 3.7 + +* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek - 3.2.1-5 +- Update MANPATH so that normal man pages can still be found (#1533717) + +* Thu Feb 08 2018 Fedora Release Engineering - 3.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Feb 01 2018 Ralf Corsépius - 3.2.1-3 +- Rebuilt for GCC-8.0.1. + +* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 3.2.1-2 +- Update $modincdir in mpifort after moving .mod files (#1301533) +- Move compiler wrappers to mpich-devel (#1353621) +- Remove bogus rpath (#1361586) + +* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 3.2.1-1 +- Update to latest bugfix release (#1512188) + +* Thu Aug 03 2017 Fedora Release Engineering - 3.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 3.2-7 +- Rebuild for Python 3.6 + +* Wed Nov 2 2016 Orion Poplawski - 3.2-7 +- Split python support into sub-packages + +* Wed Mar 30 2016 Michal Toman - 3.2-6 +- Fix build on MIPS + +* Thu Feb 04 2016 Fedora Release Engineering - 3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Orion Poplawski - 3.2-4 +- Add patch to allow -host localhost to work on builders + +* Wed Jan 20 2016 Orion Poplawski - 3.2-3 +- Use nemesis channel on all platforms + +* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek - 3.2-2 +- Soften version check (#1289779) + +* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek - 3.2-1 +- Update to latest version + +* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-9 +- Update requires and fix MPI_FORTRAN_MOD_DIR var + +* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-8 +- Move fortran .mod files to %%{_fmoddir}/mpich (#1154991) +- Move man pages to arch-specific dir (#1264359) + +* Tue Nov 10 2015 Fedora Release Engineering - 3.1.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-6 +- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563) +- Cleanups to the spec file + +* Sun Jul 26 2015 Sandro Mani - 3.1.4-5 +- Require, BuildRequire: rpm-mpi-hooks + +* Wed Jun 17 2015 Fedora Release Engineering - 3.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-3 +- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728) + +* Fri Mar 13 2015 Orion Poplawski - 3.1.4-2 +- Set PKG_CONFIG_DIR (bug #1113627) +- Fix modulefile names and python paths (bug#1201343) + +* Wed Mar 11 2015 Orion Poplawski - 3.1.4-1 +- Update to 3.1.4 +- Own and set PKG_CONFIG_DIR (bug #1113627) +- Do not ship old modulefile location (bug #921534) + +* Sun Aug 17 2014 Fedora Release Engineering - 3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Feb 21 2014 Ville Skyttä - 3.1-2 +- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config. + +* Fri Feb 21 2014 Deji Akingunola - 3.1-1 +- Update to 3.1 + +* Mon Jan 6 2014 Peter Robinson 3.0.4-7 +- Set the aarch64 compiler options + +* Fri Dec 13 2013 Peter Robinson 3.0.4-6 +- Now have valgrind on ARMv7 +- No valgrind on aarch64 + +* Fri Aug 23 2013 Orion Poplawski - 3.0.4-5 +- Add %%check + +* Sat Aug 03 2013 Fedora Release Engineering - 3.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 20 2013 Deji Akingunola - 3.0.4-3 +- Add proper Provides and Obsoletes for the sub-packages + +* Thu Jul 18 2013 Deji Akingunola - 3.0.4-2 +- Fix some of the rpmlint warnings from package review (BZ #973493) + +* Wed Jun 12 2013 Deji Akingunola - 3.0.4-1 +- Update to 3.0.4 + +* Thu Feb 21 2013 Deji Akingunola - 3.0.2-1 +- Update to 3.0.2 +- Rename to mpich. +- Drop check for old alternatives' installation + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 1 2012 Orion Poplawski - 1.5-1 +- Update to 1.5 +- Drop destdir-fix and mpicxx-und patches +- Update rpm macros to use the new module location + +* Wed Oct 31 2012 Orion Poplawski - 1.4.1p1-9 +- Install module file in mpi subdirectory and conflict with other mpi modules +- Leave existing module file location for backwards compatibility for a while + +* Fri Jul 20 2012 Fedora Release Engineering - 1.4.1p1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-7 +- Rebuild for new hwloc + +* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-6 +- Update ARM build configuration + +* Fri Jan 13 2012 Fedora Release Engineering - 1.4.1p1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Jan 2 2012 Jussi Lehtola - 1.4.1p1-4 +- Bump spec. + +* Wed Nov 16 2011 Jussi Lehtola - 1.4.1p1-3 +- Comply to MPI guidelines by separating autoloading into separate package + (BZ #647147). + +* Tue Oct 18 2011 Deji Akingunola - 1.4.1p1-2 +- Rebuild for hwloc soname bump. + +* Sun Sep 11 2011 Deji Akingunola - 1.4.1p1-1 +- Update to 1.4.1p1 patch update +- Add enable-lib-depend to configure flags + +* Sat Aug 27 2011 Deji Akingunola - 1.4.1-1 +- Update to 1.4.1 final +- Drop the mpd subpackage, the PM is no longer supported upstream +- Fix undefined symbols in libmpichcxx (again) (#732926) + +* Wed Aug 03 2011 Jussi Lehtola - 1.4-2 +- Respect environment module guidelines wrt placement of module file. + +* Fri Jun 17 2011 Deji Akingunola - 1.4-1 +- Update to 1.4 final diff --git a/esac-syntax-fix.diff b/esac-syntax-fix.diff new file mode 100644 index 0000000..e863798 --- /dev/null +++ b/esac-syntax-fix.diff @@ -0,0 +1,103 @@ +--- mpich-3.4.1/src/mpl/configure.ac~ 2021-01-20 19:04:56.000000000 +0100 ++++ mpich-3.4.1/src/mpl/configure.ac 2021-05-17 09:45:20.178904241 +0200 +@@ -426,99 +426,7 @@ + + linux86_cycle|linux86_cycle_2) + +-# The following AC_TRY_RUN statements are needed because x86_64 compilers +-# usually know about rdtscp but the cpu may or may not actually implement the +-# feature. This is not cross-compile safe, unfortunately. In the long run we +-# should allow the user to override this with a configure flag. +- AC_CACHE_CHECK([that linux86 cycle counter is available], +- pac_cv_linux86_cycle, +- AC_TRY_RUN([ +-int main() +-{ +- /* rdtscp */ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("rdtscp; shl \$32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); +- return 0; +-} +- ],pac_cv_linux86_cycle=rdtscp, +- AC_TRY_RUN([[ +-int main() +-{ +- /* cpuid 64 */ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); +- return 0; +-} +- ]],pac_cv_linux86_cycle=cpuid_rdtsc64, +- AC_TRY_RUN([[[ +-int main() +-{ +- /* cpuid 32 */ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (*var_ptr) : : "ecx"); +- return 0; +-} +- ]]],pac_cv_linux86_cycle=cpuid_rdtsc32, +- AC_TRY_RUN([[[[ +-int main() +-{ +- /* simple */ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("rdtsc" : "=A" (*var_ptr)); +- return 0; +-} +- ]]]],pac_cv_linux86_cycle=rdtsc, +- pac_cv_linux86_cycle=no) +- ) +- ), +-dnl The if-cross-compiling clause from the first AC_TRY_RUN. Hope that if the +-dnl compiler knows about the instruction then it's supported by the target +-dnl platform. +- AC_TRY_COMPILE(,[[ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("rdtscp; shl \$32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); +- ]],pac_cv_linux86_cycle=rdtscp, +- AC_TRY_COMPILE(,[[[ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); +- ]]],pac_cv_linux86_cycle=cpuid_rdtsc64, +- AC_TRY_COMPILE(,[[[[ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (*var_ptr) : : "ecx"); +- ]]]],pac_cv_linux86_cycle=cpuid_rdtsc32, +- AC_TRY_COMPILE(,[[[[[ +- long long var, *var_ptr=&var; +- __asm__ __volatile__("rdtsc" : "=A" (*var_ptr)); +- ]]]]],pac_cv_linux86_cycle=rdtsc, +- pac_cv_linux86_cycle=no) +- ) +- ) +- ) +- ) +- ) +- +- case "$pac_cv_linux86_cycle" in +- "rdtscp") +- AC_DEFINE(LINUX86_CYCLE_RDTSCP,1,[Define which x86 cycle counter to use]) +- ;; +- "cpuid_rdtsc64") +- AC_DEFINE(LINUX86_CYCLE_CPUID_RDTSC64,1,[Define which x86 cycle counter to use]) +- ;; +- "cpuid_rdtsc32") +- AC_DEFINE(LINUX86_CYCLE_CPUID_RDTSC32,1,[Define which x86 cycle counter to use]) +- ;; +- "rdtsc") +- AC_DEFINE(LINUX86_CYCLE_RDTSC,1,[Define which x86 cycle counter to use]) +- ;; +- *) +- cpu_gcc_x86_cycle=no +- ;; +- esac +- +- if test "$cpu_gcc_x86_cycle" = "no" ; then +- AC_MSG_ERROR([Linux86 cycle counter is not available on this system and or with the $CC compiler]) +- fi +- MPL_TIMER_TYPE="long long" ++ AC_MSG_ERROR([Linux86 cycle counter is not available]) + ;; + + gcc_ia64_cycle) diff --git a/fix_wrapper_flags.patch b/fix_wrapper_flags.patch deleted file mode 100644 index e555d6d..0000000 --- a/fix_wrapper_flags.patch +++ /dev/null @@ -1,160 +0,0 @@ -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 @@ - 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_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 -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 @@ - 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_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 -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 @@ - 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_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 -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 @@ - 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_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 -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 @@ - 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_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 -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 @@ - 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_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/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch new file mode 100644 index 0000000..e093283 --- /dev/null +++ b/mpich-aclocal_cc-implicit-int.patch @@ -0,0 +1,124 @@ +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 a85e082..2710ada 100644 +--- a/confdb/aclocal_cc.m4 ++++ b/confdb/aclocal_cc.m4 +@@ -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); +- 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 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); + #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 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); + #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 a85e082..2710ada 100644 +--- a/src/mpi/romio/confdb/aclocal_cc.m4 ++++ b/src/mpi/romio/confdb/aclocal_cc.m4 +@@ -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); +- 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 a85e082..2710ada 100644 +--- a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 ++++ b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 +@@ -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); +- 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 a85e082..2710ada 100644 +--- a/src/mpl/confdb/aclocal_cc.m4 ++++ b/src/mpl/confdb/aclocal_cc.m4 +@@ -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); +- 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 a85e082..2710ada 100644 +--- a/src/pm/hydra/confdb/aclocal_cc.m4 ++++ b/src/pm/hydra/confdb/aclocal_cc.m4 +@@ -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); +- 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 a85e082..2710ada 100644 +--- a/test/mpi/confdb/aclocal_cc.m4 ++++ b/test/mpi/confdb/aclocal_cc.m4 +@@ -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); +- 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 a85e082..2710ada 100644 +--- a/test/mpi/dtpools/confdb/aclocal_cc.m4 ++++ b/test/mpi/dtpools/confdb/aclocal_cc.m4 +@@ -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); +- 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.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 519b8a3..173a671 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,34 +1,53 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 3.4.1 -Release: 1%{?dist} -License: MIT +Version: 4.2.2 +Release: %autorelease +License: mpich2 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 -Patch0: mpich-modules.patch -Patch1: 0001-Drop-real128.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/ -Patch3: fix_wrapper_flags.patch -# https://github.com/pmodels/mpich/issues/4534 -Patch4: 0001-Revert-Remove-use-of-vasprintf.patch -BuildRequires: make +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 + +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 +BuildRequires: libtool BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: hwloc-devel >= 2.0 -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool +%if ! (0%{?rhel} >= 10) +%ifarch x86_64 +# BuildRequires: json-c-devel +BuildRequires: libpsm2-devel +%endif +%endif +BuildRequires: libfabric-devel +BuildRequires: libnl3-devel +BuildRequires: libuuid-devel +BuildRequires: numactl-devel +%ifarch aarch64 ppc64le x86_64 riscv64 +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} +%ifarch %{valgrind_arches} BuildRequires: valgrind-devel %endif # For %%{python3_sitearch} @@ -107,31 +126,21 @@ Requires: python(abi) = %{python3_version} mpich support for Python 3. %prep -%setup - -%patch0 -p1 - -%ifarch %{arm} -%patch1 -p1 -%endif - -%patch3 -p1 - -%patch4 -p1 +%autosetup -p1 %build ./autogen.sh CONFIGURE_OPTS=( + --with-custom-version-string=%{version}-%{release} --enable-sharedlibs=gcc --enable-shared --enable-static=no --enable-lib-depend --disable-rpath --disable-silent-rules - --enable-fortran + --disable-dependency-tracking --with-gnu-ld - --with-device=ch3:nemesis --with-pm=hydra:gforker --includedir=%{_includedir}/%{name}-%{_arch} --bindir=%{_libdir}/%{name}/bin @@ -140,11 +149,21 @@ CONFIGURE_OPTS=( --mandir=%{_mandir}/%{name}-%{_arch} --docdir=%{_datadir}/%{name}/doc --htmldir=%{_datadir}/%{name}/doc - --with-hwloc-prefix=system + --with-hwloc + --with-libfabric +%ifarch aarch64 ppc64le x86_64 riscv64 + --with-ucx +%endif +%if ! 0%{?rhel} + --with-yaksa +%endif ) +# --with-device=ch3:nemesis # 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 @@ -153,9 +172,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 @@ -189,13 +205,21 @@ 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 +# 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 +rm %{buildroot}%{_libdir}/%{name}/bin/parkill + + %check make check VERBOSE=1 \ %ifarch ppc64le @@ -214,13 +238,15 @@ make check VERBOSE=1 \ %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/lib %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 %{_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/ @@ -231,6 +257,7 @@ make check VERBOSE=1 \ %files devel %{_includedir}/%{name}-%{_arch}/ %{_libdir}/%{name}/lib/pkgconfig/ +%{_libdir}/%{name}/lib/cmake/ %{_libdir}/%{name}/lib/*.so %{_libdir}/%{name}/bin/mpicc %{_libdir}/%{name}/bin/mpic++ @@ -251,251 +278,4 @@ make check VERBOSE=1 \ %{python3_sitearch}/%{name}.pth %changelog -* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek - 3.4.1-1 -- Update to latest version (#1912981) - -* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek - 3.4-1 -- Update to latest version (#1912981) - -* Tue Jan 26 2021 Fedora Release Engineering - 3.3.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-8 -- Do not require non-loopback addresses in mpirun (#1839007) - -* Thu Aug 06 2020 Christoph Junghans - 3.3.2-7 -- Drop build flag from mpi wrappers - -* Tue Jul 28 2020 Fedora Release Engineering - 3.3.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon May 25 2020 Miro Hrončok - 3.3.2-5 -- Rebuilt for Python 3.9 - -* Fri Feb 14 2020 Christoph Junghans - 3.3.2-4 -- Add 4320.patch to fix #1793563 and #1799473 - -* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-3 -- Add requirement for redhat-rpm-config (#1795674) - -* Wed Jan 29 2020 Fedora Release Engineering - 3.3.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 3.3.2-1 -- Subpackage python2-mpich has been removed (#1773126) - -* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 3.3.2-1 -- Update to latest version (#1772152). This is a bugfix release: - https://github.com/pmodels/mpich/blob/v3.3.2/CHANGES. - -* Wed Aug 28 2019 Zbigniew Jędrzejewski-Szmek - 3.3.1-1 -- Really upgrade to 3.3.1 (#1745252) - -* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-1 -- "Upgrade" back to 3.2.1 (#1745252) - (I made a typo, and instead of *upgrading* to 3.3.1, I made a downgrade - to 3.1.1. Too bad that we don't have *any* automatic check that would - warn about this in Fedora. Version 3.3.1 requires a newer hwloc, but - some of the dependencies are not ready to switch. So let's "upgrade" - back to 3.2.1, and plan to 3.3.1 next week.) - -* Mon Aug 19 2019 Miro Hrončok - 3.1.1-2 -- Rebuilt for Python 3.8 - -* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek - 3.1.1-1 -- Update to latest version (#1718376) - -* Thu Jul 25 2019 Fedora Release Engineering - 3.2.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-12 -- Require main package and appropriate python version from python subpackages - -* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-11 -- Add a guard for python3 version (#1705296) -- Module files are moved to /usr/share/modulefiles/mpi/ - -* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-10 -- Drop all custom compilation and link flags (#1573088) - -* Fri Feb 01 2019 Fedora Release Engineering - 3.2.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 3.2.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 3.2.1-7 -- Rebuilt for Python 3.7 - -* Tue Jun 19 2018 Miro Hrončok - 3.2.1-6 -- Rebuilt for Python 3.7 - -* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek - 3.2.1-5 -- Update MANPATH so that normal man pages can still be found (#1533717) - -* Thu Feb 08 2018 Fedora Release Engineering - 3.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Feb 01 2018 Ralf Corsépius - 3.2.1-3 -- Rebuilt for GCC-8.0.1. - -* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 3.2.1-2 -- Update $modincdir in mpifort after moving .mod files (#1301533) -- Move compiler wrappers to mpich-devel (#1353621) -- Remove bogus rpath (#1361586) - -* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 3.2.1-1 -- Update to latest bugfix release (#1512188) - -* Thu Aug 03 2017 Fedora Release Engineering - 3.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 3.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 3.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 3.2-7 -- Rebuild for Python 3.6 - -* Wed Nov 2 2016 Orion Poplawski - 3.2-7 -- Split python support into sub-packages - -* Wed Mar 30 2016 Michal Toman - 3.2-6 -- Fix build on MIPS - -* Thu Feb 04 2016 Fedora Release Engineering - 3.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jan 22 2016 Orion Poplawski - 3.2-4 -- Add patch to allow -host localhost to work on builders - -* Wed Jan 20 2016 Orion Poplawski - 3.2-3 -- Use nemesis channel on all platforms - -* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek - 3.2-2 -- Soften version check (#1289779) - -* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek - 3.2-1 -- Update to latest version - -* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-9 -- Update requires and fix MPI_FORTRAN_MOD_DIR var - -* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-8 -- Move fortran .mod files to %%{_fmoddir}/mpich (#1154991) -- Move man pages to arch-specific dir (#1264359) - -* Tue Nov 10 2015 Fedora Release Engineering - 3.1.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-6 -- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563) -- Cleanups to the spec file - -* Sun Jul 26 2015 Sandro Mani - 3.1.4-5 -- Require, BuildRequire: rpm-mpi-hooks - -* Wed Jun 17 2015 Fedora Release Engineering - 3.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-3 -- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728) - -* Fri Mar 13 2015 Orion Poplawski - 3.1.4-2 -- Set PKG_CONFIG_DIR (bug #1113627) -- Fix modulefile names and python paths (bug#1201343) - -* Wed Mar 11 2015 Orion Poplawski - 3.1.4-1 -- Update to 3.1.4 -- Own and set PKG_CONFIG_DIR (bug #1113627) -- Do not ship old modulefile location (bug #921534) - -* Sun Aug 17 2014 Fedora Release Engineering - 3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Feb 21 2014 Ville Skyttä - 3.1-2 -- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config. - -* Fri Feb 21 2014 Deji Akingunola - 3.1-1 -- Update to 3.1 - -* Mon Jan 6 2014 Peter Robinson 3.0.4-7 -- Set the aarch64 compiler options - -* Fri Dec 13 2013 Peter Robinson 3.0.4-6 -- Now have valgrind on ARMv7 -- No valgrind on aarch64 - -* Fri Aug 23 2013 Orion Poplawski - 3.0.4-5 -- Add %%check - -* Sat Aug 03 2013 Fedora Release Engineering - 3.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Jul 20 2013 Deji Akingunola - 3.0.4-3 -- Add proper Provides and Obsoletes for the sub-packages - -* Thu Jul 18 2013 Deji Akingunola - 3.0.4-2 -- Fix some of the rpmlint warnings from package review (BZ #973493) - -* Wed Jun 12 2013 Deji Akingunola - 3.0.4-1 -- Update to 3.0.4 - -* Thu Feb 21 2013 Deji Akingunola - 3.0.2-1 -- Update to 3.0.2 -- Rename to mpich. -- Drop check for old alternatives' installation - -* Thu Feb 14 2013 Fedora Release Engineering - 1.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Thu Nov 1 2012 Orion Poplawski - 1.5-1 -- Update to 1.5 -- Drop destdir-fix and mpicxx-und patches -- Update rpm macros to use the new module location - -* Wed Oct 31 2012 Orion Poplawski - 1.4.1p1-9 -- Install module file in mpi subdirectory and conflict with other mpi modules -- Leave existing module file location for backwards compatibility for a while - -* Fri Jul 20 2012 Fedora Release Engineering - 1.4.1p1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-7 -- Rebuild for new hwloc - -* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-6 -- Update ARM build configuration - -* Fri Jan 13 2012 Fedora Release Engineering - 1.4.1p1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Jan 2 2012 Jussi Lehtola - 1.4.1p1-4 -- Bump spec. - -* Wed Nov 16 2011 Jussi Lehtola - 1.4.1p1-3 -- Comply to MPI guidelines by separating autoloading into separate package - (BZ #647147). - -* Tue Oct 18 2011 Deji Akingunola - 1.4.1p1-2 -- Rebuild for hwloc soname bump. - -* Sun Sep 11 2011 Deji Akingunola - 1.4.1p1-1 -- Update to 1.4.1p1 patch update -- Add enable-lib-depend to configure flags - -* Sat Aug 27 2011 Deji Akingunola - 1.4.1-1 -- Update to 1.4.1 final -- Drop the mpd subpackage, the PM is no longer supported upstream -- Fix undefined symbols in libmpichcxx (again) (#732926) - -* Wed Aug 03 2011 Jussi Lehtola - 1.4-2 -- Respect environment module guidelines wrt placement of module file. - -* Fri Jun 17 2011 Deji Akingunola - 1.4-1 -- Update to 1.4 final +%autochangelog diff --git a/sources b/sources index 344b066..09a5e12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-3.4.1.tar.gz) = 61aa161b14bd501320e45e0598ea4f125a704383e4998bf1773ba8b1ce06fb73204bad8f7a5fc147b1cef97e6420cdb150856f6ab03db4dddfe87f02edd3b8d2 +SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757