Compare commits

...

30 Commits
master ... main

Author SHA1 Message Date
Orion Poplawski db223e3554 Update to 4.0.3
... (https://www.mpich.org/2022/11/08/mpich-4-0-3-released/)
2023-03-02 11:29:50 +01:00
Zbigniew Jędrzejewski-Szmek d6ad862c2f Drop unused .pth file for python2 2023-02-21 15:07:43 +01:00
Ben Boeckel 45ea873359 Backport PR#6374 to fix MPI_allgatherv fastpath error
(cherry picked from commit 2400e5803f)
2023-02-21 13:34:56 +01:00
Fedora Release Engineering 181eaa9b44 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 20:50:25 +00:00
Florian Weimer 3aac8d8e5b Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2022-12-03 12:59:39 +01:00
Fedora Release Engineering 8edd49ad7f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 23:50:52 +00:00
Python Maint 3cca034eae Rebuilt for Python 3.11 2022-06-13 15:46:06 +02:00
Zbigniew Jędrzejewski-Szmek 3d9a923457 Version 4.0.2 (rhbz#1939170)
Support for arm32 is dropped: https://fedoraproject.org/wiki/Changes/RetireARMv7
2022-04-10 20:55:01 +02:00
Zbigniew Jędrzejewski-Szmek 07f049d098 ucx is only available on three architectures 2022-02-08 11:14:50 +01:00
Zbigniew Jędrzejewski-Szmek 6def00d62c Unbundle libfabric and ucx 2022-02-08 11:05:36 +01:00
Zbigniew Jędrzejewski-Szmek 760052bc68 Drop link and optimization flags from pkgconf file
Patches are rearranged a bit for clarity.
2022-02-08 11:05:36 +01:00
Fedora Release Engineering f29c84ef27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 20:31:36 +00:00
Sandro Mani 44ff18750c Create and own mpich/lib/cmake directory 2022-01-19 23:23:50 +01:00
Zbigniew Jędrzejewski-Szmek ed2144d2c8 Convert to rpmautospec 2022-01-19 08:38:05 +01:00
Zbigniew Jędrzejewski-Szmek 79ddb63773 Revert "Also own %{_libdir}/%{name}/lib/cmake/"
This reverts commit c0ad91f367.

This change breaks build, the directory is not found. AFAICS, mpich
was never built with this change, so I'm just reverting the commit
altogether.
2022-01-19 08:37:22 +01:00
Sandro Mani c0ad91f367 Also own %{_libdir}/%{name}/lib/cmake/ 2021-09-03 16:15:54 +02:00
Fedora Release Engineering 7003b72d1f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 15:28:48 +00:00
Python Maint 4e8616b3a3 Rebuilt for Python 3.10 2021-06-04 11:23:15 +02:00
Zbigniew Jędrzejewski-Szmek 0d1f44c9a8 Rip out part of configure.ac to fix build under autoconf-2.71 2021-05-17 09:49:23 +02:00
Zbigniew Jędrzejewski-Szmek e3be50b174 Fix %changelog 2021-03-29 09:24:36 +02:00
Zbigniew Jędrzejewski-Szmek 071b821b18 Add workaround for valgrind issue 2021-01-31 10:28:18 +01:00
Zbigniew Jędrzejewski-Szmek 67f3b82ee9 Version 3.4.1
Disable failing test. It seems to be an upstream issue.

--enable-fc was deprecated and replaced by --enable-fortran.
2021-01-31 10:28:18 +01:00
Zbigniew Jędrzejewski-Szmek ac3cd7fb27 Version 3.4 2021-01-31 10:28:14 +01:00
Fedora Release Engineering 1e5d01f946 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 20:54:15 +00:00
Tom Stellard d45d1b95a6 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 02:04:33 +00:00
Zbigniew Jędrzejewski-Szmek b4333cebe4 Ignore tests results on ppc64le
make  check-TESTS
make[4]: Entering directory /builddir/build/BUILD/mpich-3.3.2/src/openpa/test
make[5]: Entering directory /builddir/build/BUILD/mpich-3.3.2/src/openpa/test
PASS: sanity
FAIL: test_primitives
PASS: test_barriers
FAIL: test_queue
=======================================
   OpenPA 1.0.3: test/test-suite.log
=======================================
# TOTAL: 4
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test_primitives
=====================
Testing simple integer load/store functionality                        PASSED
Testing simple pointer load/store functionality                        PASSED
Testing simple add/incr/decr functionality                             PASSED
Testing simple decr and test functionality                             PASSED
Testing simple fetch and add/incr/decr functionality                   PASSED
Testing simple integer compare-and-swap functionality                  PASSED
Testing simple pointer compare-and-swap functionality                  PASSED
Testing simple integer swap functionality                              PASSED
Testing simple pointer swap functionality                              PASSED
Testing simple integer load-linked/store-conditional functionality     PASSED
Testing simple pointer load-linked/store-conditional functionality     PASSED
Testing integer LL/SC ABA with 2 threads                                  Unexpected success of OPA_SC_int
    Unexpected success of OPA_SC_int
*FAILED*
        at test_primitives.c:4125 in test_threaded_llsc_int_aba()...
    False positives: 411 / 1000191
Testing pointer LL/SC ABA with 2 threads                               PASSED
    False positives: 362 / 999007
Testing integer load/store with 1 thread                               PASSED
Testing pointer load/store with 1 thread                               PASSED
Testing add with 1 thread                                              PASSED
Testing incr and decr with 1 thread                                    PASSED
Testing decr and test with 1 thread                                    PASSED
Testing fetch and add with 1 thread                                    PASSED
Testing fetch and add return values with 1 thread                      PASSED
Testing fetch and incr/decr with 1 thread                              PASSED
Testing fetch and incr return values with 1 thread                     PASSED
Testing fetch and decr return values with 1 thread                     PASSED
Testing integer compare-and-swap with 1 thread                         PASSED
Testing pointer compare-and-swap with 1 thread                         PASSED
Testing grouped integer compare-and-swap with 1 thread                 PASSED
Testing grouped pointer compare-and-swap with 1 thread                 PASSED
Testing integer compare-and-swap fairness with 1 thread                PASSED
Testing pointer compare-and-swap fairness with 1 thread                PASSED
Testing integer swap with 1 thread                                     PASSED
Testing pointer swap with 1 thread                                     PASSED
Testing integer load/store with 2 threads                              PASSED
Testing pointer load/store with 2 threads                              PASSED
Testing add with 2 threads                                             PASSED
Testing incr and decr with 1 thread                                    PASSED
Testing decr and test with 2 threads                                   PASSED
Testing fetch and add with 2 threads                                   PASSED
Testing fetch and add return values with 2 threads                     PASSED
Testing fetch and incr/decr with 1 thread                              PASSED
Testing fetch and incr return values with 2 threads                    PASSED
Testing fetch and decr return values with 2 threads                    PASSED
Testing integer compare-and-swap with 2 threads                        PASSED
Testing pointer compare-and-swap with 2 threads                        PASSED
Testing grouped integer compare-and-swap with 2 threads                PASSED
Testing grouped pointer compare-and-swap with 2 threads                PASSED
Testing integer compare-and-swap fairness with 2 threads               PASSED
Testing pointer compare-and-swap fairness with 2 threads               PASSED
Testing integer swap with 2 threads                                    PASSED
Testing pointer swap with 2 threads                                    PASSED
Testing integer LL/SC stack with 2 threads                             PASSED
Testing pointer LL/SC stack with 2 threads                             PASSED
Testing integer load/store with 4 threads                              PASSED
Testing pointer load/store with 4 threads                              PASSED
Testing add with 4 threads                                             PASSED
Testing incr and decr with 3 threads                                   PASSED
Testing decr and test with 4 threads                                   PASSED
Testing fetch and add with 4 threads                                   PASSED
Testing fetch and add return values with 4 threads                     PASSED
Testing fetch and incr/decr with 3 threads                             PASSED
Testing fetch and incr return values with 4 threads                    PASSED
Testing fetch and decr return values with 4 threads                    PASSED
Testing integer compare-and-swap with 4 threads                        PASSED
Testing pointer compare-and-swap with 4 threads                        PASSED
Testing grouped integer compare-and-swap with 4 threads                PASSED
Testing grouped pointer compare-and-swap with 4 threads                PASSED
Testing integer compare-and-swap fairness with 4 threads               PASSED
Testing pointer compare-and-swap fairness with 4 threads               PASSED
Testing integer swap with 4 threads                                    PASSED
Testing pointer swap with 4 threads                                    PASSED
Testing integer LL/SC stack with 4 threads                             PASSED
Testing pointer LL/SC stack with 4 threads                             PASSED
Testing integer load/store with 10 threads                             PASSED
Testing pointer load/store with 10 threads                             PASSED
Testing add with 10 threads                                            PASSED
Testing incr and decr with 9 threads                                   PASSED
Testing decr and test with 10 threads                                  PASSED
Testing fetch and add with 10 threads                                  PASSED
Testing fetch and add return values with 10 threads                    PASSED
Testing fetch and incr/decr with 9 threads                             PASSED
Testing fetch and incr return values with 10 threads                   PASSED
Testing fetch and decr return values with 10 threads                   PASSED
Testing integer compare-and-swap with 10 threads                       PASSED
Testing pointer compare-and-swap with 10 threads                       PASSED
Testing grouped integer compare-and-swap with 10 threads               PASSED
Testing grouped pointer compare-and-swap with 10 threads               PASSED
Testing integer compare-and-swap fairness with 10 threads              PASSED
Testing pointer compare-and-swap fairness with 10 threads              PASSED
Testing integer swap with 10 threads                                   PASSED
Testing pointer swap with 10 threads                                   PASSED
Testing integer LL/SC stack with 10 threads                            PASSED
Testing pointer LL/SC stack with 10 threads                            PASSED
Testing integer load/store with 100 threads                            PASSED
Testing pointer load/store with 100 threads                            PASSED
Testing add with 100 threads                                           PASSED
Testing incr and decr with 99 threads                                  PASSED
Testing decr and test with 100 threads                                 PASSED
Testing fetch and add with 100 threads                                 PASSED
Testing fetch and add return values with 100 threads                   PASSED
Testing fetch and incr/decr with 99 threads                            PASSED
Testing fetch and incr return values with 100 threads                  PASSED
Testing fetch and decr return values with 100 threads                  PASSED
Testing integer compare-and-swap with 100 threads                      PASSED
Testing pointer compare-and-swap with 100 threads                      PASSED
Testing grouped integer compare-and-swap with 100 threads              PASSED
Testing grouped pointer compare-and-swap with 100 threads              PASSED
Testing integer compare-and-swap fairness with 100 threads             PASSED
Testing pointer compare-and-swap fairness with 100 threads             PASSED
Testing integer swap with 100 threads                                  PASSED
Testing pointer swap with 100 threads                                  PASSED
Testing integer LL/SC stack with 100 threads                           PASSED
Testing pointer LL/SC stack with 100 threads                           PASSED
***** 1 PRIMITIVES TEST FAILED! *****
FAIL test_primitives (exit status: 1)
FAIL: test_queue
================
Testing queue sanity                                                   PASSED
Testing multithreaded queue with 2 threads                             PASSED
Testing multithreaded queue (empty queue) with 2 threads                  Incorrect number of elements dequeued: 132042 Expected: 500000
*FAILED*
        at test_queue.c:424 in test_queue_threaded()...
    Unexpected return from 1 thread
Testing multithreaded queue (full queue) with 2 threads                PASSED
Testing multithreaded queue with 4 threads                             PASSED
Testing multithreaded queue (empty queue) with 4 threads               PASSED
Testing multithreaded queue (full queue) with 4 threads                PASSED
Testing multithreaded queue with 10 threads                            PASSED
Testing multithreaded queue (empty queue) with 10 threads              PASSED
Testing multithreaded queue (full queue) with 10 threads               PASSED
Testing multithreaded queue with 100 threads                           PASSED
Testing multithreaded queue (empty queue) with 100 threads             PASSED
Testing multithreaded queue (full queue) with 100 threads              PASSED
***** 1 QUEUE TEST FAILED! *****
FAIL test_queue (exit status: 1)
============================================================================
Testsuite summary for OpenPA 1.0.3
============================================================================
# TOTAL: 4
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See test/test-suite.log
Please report to https://trac.mcs.anl.gov/projects/openpa/newticket
============================================================================
2020-09-15 17:14:05 +02:00
Zbigniew Jędrzejewski-Szmek 5689195cb9 Add the patches 2020-09-15 16:27:29 +02:00
Zbigniew Jędrzejewski-Szmek 83883a482f Do not require non-loopback addresses in mpirun 2020-09-15 15:33:16 +02:00
Christoph Junghans c40fc556e1 Drop build flag from mpi wrappers 2020-08-06 08:10:33 -06:00
Fedora Release Engineering 177e4a3b36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 08:32:08 +00:00
16 changed files with 876 additions and 433 deletions

4
.gitignore vendored
View File

@ -6,3 +6,7 @@
/mpich-3.1.1.tar.gz
/mpich-3.3.1.tar.gz
/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

View File

@ -1,74 +0,0 @@
From 8f0c71281b5dccd70a3f1d4204e3cc6bc7201ceb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?=
<zbyszek@arm03-packager01.cloud.fedoraproject.org>
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

View File

@ -0,0 +1,44 @@
From cb3e5715326c43779b51e1cab1519282c50199c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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@ @WRAPPER_LIBS@
+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}

View File

@ -0,0 +1,25 @@
From 03b024ee9346babc48a646b6ab98884ebdd49791 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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@ @WRAPPER_LIBS@
+Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@
Cflags: @WRAPPER_CPPFLAGS@ -I${includedir}
# pkg-config does not understand Cxxflags, etc. So we allow users to

View File

@ -0,0 +1,145 @@
From e4f0e86f815d8bd3dbb7cccf660bae6ab7f302dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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
-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 --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
-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 --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
-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 --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
-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 --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
-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/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
-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

View File

@ -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?= <zbyszek@in.waw.pl>
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:
#

View File

@ -1,101 +0,0 @@
From a1524608b05e6c89e2b99f64923f064d888465ce Mon Sep 17 00:00:00 2001
From: Hui Zhou <hzhou321@anl.gov>
Date: Mon, 18 Nov 2019 14:52:55 -0600
Subject: [PATCH 1/2] ch3: fix improper error handling from MPL_get_sockaddr
MPL layer does not directly return mpi_errno. Use MPIR_ERR_CHKANDJUMP
macro to create the appropriate return code. See pmodels/mpich#4318.
Cherry-picked from [8d923937ec5d].
---
.../channels/nemesis/netmod/tcp/tcp_init.c | 23 +++++++++++--------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c
index 4c2383ed8f..bc58211eb6 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_init.c
@@ -307,8 +307,9 @@ static int GetSockInterfaceAddr(int myRank, char *ifname, int maxIfname,
if (MPIR_CVAR_NEMESIS_TCP_NETWORK_IFACE) {
char s[100];
int len;
- mpi_errno = MPL_get_sockaddr_iface(MPIR_CVAR_NEMESIS_TCP_NETWORK_IFACE, p_addr);
- MPIR_ERR_CHKANDJUMP1(mpi_errno, mpi_errno, MPI_ERR_OTHER, "**iface_notfound", "**iface_notfound %s", MPIR_CVAR_NEMESIS_TCP_NETWORK_IFACE);
+ int ret = MPL_get_sockaddr_iface(MPIR_CVAR_NEMESIS_TCP_NETWORK_IFACE, p_addr);
+ MPIR_ERR_CHKANDJUMP1(ret != 0, mpi_errno, MPI_ERR_OTHER, "**iface_notfound",
+ "**iface_notfound %s", MPIR_CVAR_NEMESIS_TCP_NETWORK_IFACE);
MPL_sockaddr_to_str(p_addr, s, 100);
MPL_DBG_MSG_FMT(MPIDI_CH3_DBG_CONNECT, VERBOSE, (MPL_DBG_FDEST,
@@ -354,12 +355,13 @@ static int GetSockInterfaceAddr(int myRank, char *ifname, int maxIfname,
ifname_string = ifname;
- /* If we didn't find a specific name, then try to get an IP address
- directly from the available interfaces, if that is supported on
- this platform. Otherwise, we'll drop into the next step that uses
- the ifname */
- mpi_errno = MPL_get_sockaddr_iface( NULL, p_addr);
- if (mpi_errno) MPIR_ERR_POP(mpi_errno);
+ /* If we didn't find a specific name, then try to get an IP address
+ * directly from the available interfaces, if that is supported on
+ * this platform. Otherwise, we'll drop into the next step that uses
+ * the ifname */
+ int ret = MPL_get_sockaddr_iface(NULL, p_addr);
+ MPIR_ERR_CHKANDJUMP1(ret != 0, mpi_errno, MPI_ERR_OTHER, "**iface_notfound",
+ "**iface_notfound %s", NULL);
ifaddrFound = 1;
}
else {
@@ -369,8 +371,9 @@ static int GetSockInterfaceAddr(int myRank, char *ifname, int maxIfname,
/* If we don't have an IP address, try to get it from the name */
if (!ifaddrFound) {
- mpi_errno = MPL_get_sockaddr(ifname_string, p_addr);
- MPIR_ERR_CHKANDJUMP2(mpi_errno, mpi_errno, MPI_ERR_OTHER, "**gethostbyname", "**gethostbyname %s %d", ifname_string, h_errno);
+ int ret = MPL_get_sockaddr(ifname_string, p_addr);
+ MPIR_ERR_CHKANDJUMP2(ret != 0, mpi_errno, MPI_ERR_OTHER, "**gethostbyname",
+ "**gethostbyname %s %d", ifname_string, h_errno);
}
fn_exit:
From 89157ad35c0885b4758d250d019f0f7cf0f59095 Mon Sep 17 00:00:00 2001
From: Hui Zhou <hzhou321@anl.gov>
Date: Wed, 15 Jan 2020 13:29:56 -0600
Subject: [PATCH 2/2] pmi: fix a wrong condition checking return of
MPL_get_sockaddr
Cherry-picked from [3e6af3c2fbaf]. See pmodels/mpich#4318.
---
src/mpl/include/mpl_sockaddr.h | 3 +++
src/pmi/simple/simple_pmi.c | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/mpl/include/mpl_sockaddr.h b/src/mpl/include/mpl_sockaddr.h
index c0eb749419..a9860c1353 100644
--- a/src/mpl/include/mpl_sockaddr.h
+++ b/src/mpl/include/mpl_sockaddr.h
@@ -21,6 +21,9 @@
typedef struct sockaddr_storage MPL_sockaddr_t;
+/* The following functions when return an int, it returns 0 on success,
+ * non-zero indicates error. It is consistent with posix socket functions.
+ */
void MPL_sockaddr_set_aftype(int type);
int MPL_get_sockaddr(const char *s_hostname, MPL_sockaddr_t * p_addr);
int MPL_get_sockaddr_direct(int type, MPL_sockaddr_t * p_addr);
diff --git a/src/pmi/simple/simple_pmi.c b/src/pmi/simple/simple_pmi.c
index df37a8689f..7f660bdac9 100644
--- a/src/pmi/simple/simple_pmi.c
+++ b/src/pmi/simple/simple_pmi.c
@@ -881,7 +881,7 @@ static int PMII_Connect_to_pm(char *hostname, int portnum)
int q_wait = 1;
ret = MPL_get_sockaddr(hostname, &addr);
- if (!ret) {
+ if (ret) {
PMIU_printf(1, "Unable to get host entry for %s\n", hostname);
return PMI_FAIL;
}

38
6374.patch Normal file
View File

@ -0,0 +1,38 @@
From 2b8c5c7dc4974fc471b446e6cc939936aa14fd8f Mon Sep 17 00:00:00 2001
From: Hui Zhou <hzhou321@anl.gov>
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;

257
changelog Normal file
View File

@ -0,0 +1,257 @@
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 3.4.1-2
- Rebuilt for Python 3.10
* Mon May 17 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.4.1-1
- Update to latest version (#1912981)
* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4-1
- Update to latest version (#1912981)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-8
- Do not require non-loopback addresses in mpirun (#1839007)
* Thu Aug 06 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-7
- Drop build flag from mpi wrappers
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.2-5
- Rebuilt for Python 3.9
* Fri Feb 14 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-4
- Add 4320.patch to fix #1793563 and #1799473
* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-3
- Add requirement for redhat-rpm-config (#1795674)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
- Subpackage python2-mpich has been removed (#1773126)
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.3.1-1
- Really upgrade to 3.3.1 (#1745252)
* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <mhroncok@redhat.com> - 3.1.1-2
- Rebuilt for Python 3.8
* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.1-1
- Update to latest version (#1718376)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-12
- Require main package and appropriate python version from python subpackages
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.2.1-10
- Drop all custom compilation and link flags (#1573088)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-7
- Rebuilt for Python 3.7
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-6
- Rebuilt for Python 3.7
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
- Update MANPATH so that normal man pages can still be found (#1533717)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Feb 01 2018 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-3
- Rebuilt for GCC-8.0.1.
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.2.1-1
- Update to latest bugfix release (#1512188)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-7
- Rebuild for Python 3.6
* Wed Nov 2 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-7
- Split python support into sub-packages
* Wed Mar 30 2016 Michal Toman <mtoman@fedoraproject.org> - 3.2-6
- Fix build on MIPS
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-4
- Add patch to allow -host localhost to work on builders
* Wed Jan 20 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-3
- Use nemesis channel on all platforms
* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-2
- Soften version check (#1289779)
* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-1
- Update to latest version
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-9
- Update requires and fix MPI_FORTRAN_MOD_DIR var
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <rel-eng@lists.fedoraproject.org> - 3.1.4-7
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <manisandro@gmail.com> - 3.1.4-5
- Require, BuildRequire: rpm-mpi-hooks
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-3
- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728)
* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-2
- Set PKG_CONFIG_DIR (bug #1113627)
- Fix modulefile names and python paths (bug#1201343)
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 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 <rel-eng@lists.fedoraproject.org> - 3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Feb 21 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.1-2
- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config.
* Fri Feb 21 2014 Deji Akingunola <dakingun@gmail.com> - 3.1-1
- Update to 3.1
* Mon Jan 6 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-7
- Set the aarch64 compiler options
* Fri Dec 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-6
- Now have valgrind on ARMv7
- No valgrind on aarch64
* Fri Aug 23 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.4-5
- Add %%check
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-3
- Add proper Provides and Obsoletes for the sub-packages
* Thu Jul 18 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-2
- Fix some of the rpmlint warnings from package review (BZ #973493)
* Wed Jun 12 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-1
- Update to 3.0.4
* Thu Feb 21 2013 Deji Akingunola <dakingun@gmail.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.4.1p1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-7
- Rebuild for new hwloc
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-6
- Update ARM build configuration
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Jan 2 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-4
- Bump spec.
* Wed Nov 16 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-3
- Comply to MPI guidelines by separating autoloading into separate package
(BZ #647147).
* Tue Oct 18 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-2
- Rebuild for hwloc soname bump.
* Sun Sep 11 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-1
- Update to 1.4.1p1 patch update
- Add enable-lib-depend to configure flags
* Sat Aug 27 2011 Deji Akingunola <dakingun@gmail.com> - 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 <jussilehtola@fedoraproject.org> - 1.4-2
- Respect environment module guidelines wrt placement of module file.
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
- Update to 1.4 final

103
esac-syntax-fix.diff Normal file
View File

@ -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)

View File

@ -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: <https://github.com/pmodels/mpich/pull/6301>
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() {

View File

@ -0,0 +1,18 @@
Remove spurious argument to AC_CHECK_ALIGNOF, which caused this
configure test to fail.
Submitted upstream: <https://github.com/pmodels/mpich/pull/6302>
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 <stddef.h>])
+AC_CHECK_ALIGNOF([max_align_t],[#include <stddef.h>])
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)])

View File

@ -0,0 +1,17 @@
Do not call undeclared exit function in __thread support check
Submitted upstream: <https://github.com/pmodels/json-c/pull/2>
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],

View File

@ -1 +0,0 @@
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))

View File

@ -1,30 +1,46 @@
Summary: A high-performance implementation of MPI
Name: mpich
Version: 3.3.2
Release: 5%{?dist}
Version: 4.0.3
Release: %autorelease
License: MIT
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
# fix for #1793563 and #1799473
Patch2: https://github.com/pmodels/mpich/pull/4320.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/pull/6374
Patch: 6374.patch
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: libfabric-devel
%ifarch aarch64 ppc64le x86_64
BuildRequires: ucx-devel
%endif
# For ./maint/extractcvars
BuildRequires: perl(lib)
%ifnarch s390 %{mips}
BuildRequires: valgrind-devel
%endif
# For %%{python3_sitearch}
BuildRequires: python3-devel
BuildRequires: rpm-mpi-hooks
BuildRequires: automake
Provides: mpi
Provides: mpich2 = %{version}
Obsoletes: mpich2 < 3.0
@ -98,24 +114,21 @@ Requires: python(abi) = %{python3_version}
mpich support for Python 3.
%prep
%setup
%patch0 -p1
%ifarch %{arm}
%patch1 -p1
%endif
%patch2 -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-fc
--enable-fortran
--with-gnu-ld
--with-device=ch3:nemesis
--with-pm=hydra:gforker
--includedir=%{_includedir}/%{name}-%{_arch}
@ -126,10 +139,14 @@ CONFIGURE_OPTS=(
--docdir=%{_datadir}/%{name}/doc
--htmldir=%{_datadir}/%{name}/doc
--with-hwloc-prefix=system
--with-libfabric=system
--with-ucx=system
)
# 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
@ -138,9 +155,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
@ -174,15 +188,23 @@ 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/
find %{buildroot} -type f -name "*.la" -delete
%check
make check VERBOSE=1
make check VERBOSE=1 \
%ifarch ppc64le
|| :
%endif
# The test results are ignored on ppc64le. The tests started failing
# in the bundled openpa checksuite. Upstream has already removed it,
# so the issue should resolve itself for the next release and I don't
# think it's worth the time to solve it here.
%ldconfig_scriptlets
@ -209,6 +231,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++
@ -229,233 +252,4 @@ make check VERBOSE=1
%{python3_sitearch}/%{name}.pth
%changelog
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.2-5
- Rebuilt for Python 3.9
* Fri Feb 14 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-4
- Add 4320.patch to fix #1793563 and #1799473
* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-3
- Add requirement for redhat-rpm-config (#1795674)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
- Subpackage python2-mpich has been removed (#1773126)
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.3.1-1
- Really upgrade to 3.3.1 (#1745252)
* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <mhroncok@redhat.com> - 3.1.1-2
- Rebuilt for Python 3.8
* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.1-1
- Update to latest version (#1718376)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-12
- Require main package and appropriate python version from python subpackages
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.2.1-10
- Drop all custom compilation and link flags (#1573088)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-7
- Rebuilt for Python 3.7
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-6
- Rebuilt for Python 3.7
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
- Update MANPATH so that normal man pages can still be found (#1533717)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Feb 01 2018 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-3
- Rebuilt for GCC-8.0.1.
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <zbyszek@in.waw.pl> - 3.2.1-1
- Update to latest bugfix release (#1512188)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-7
- Rebuild for Python 3.6
* Wed Nov 2 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-7
- Split python support into sub-packages
* Wed Mar 30 2016 Michal Toman <mtoman@fedoraproject.org> - 3.2-6
- Fix build on MIPS
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-4
- Add patch to allow -host localhost to work on builders
* Wed Jan 20 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-3
- Use nemesis channel on all platforms
* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-2
- Soften version check (#1289779)
* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-1
- Update to latest version
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-9
- Update requires and fix MPI_FORTRAN_MOD_DIR var
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <rel-eng@lists.fedoraproject.org> - 3.1.4-7
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 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 <manisandro@gmail.com> - 3.1.4-5
- Require, BuildRequire: rpm-mpi-hooks
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-3
- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728)
* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-2
- Set PKG_CONFIG_DIR (bug #1113627)
- Fix modulefile names and python paths (bug#1201343)
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 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 <rel-eng@lists.fedoraproject.org> - 3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Feb 21 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.1-2
- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config.
* Fri Feb 21 2014 Deji Akingunola <dakingun@gmail.com> - 3.1-1
- Update to 3.1
* Mon Jan 6 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-7
- Set the aarch64 compiler options
* Fri Dec 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-6
- Now have valgrind on ARMv7
- No valgrind on aarch64
* Fri Aug 23 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.4-5
- Add %%check
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-3
- Add proper Provides and Obsoletes for the sub-packages
* Thu Jul 18 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-2
- Fix some of the rpmlint warnings from package review (BZ #973493)
* Wed Jun 12 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-1
- Update to 3.0.4
* Thu Feb 21 2013 Deji Akingunola <dakingun@gmail.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> - 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 <orion@cora.nwra.com> - 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 <rel-eng@lists.fedoraproject.org> - 1.4.1p1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-7
- Rebuild for new hwloc
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-6
- Update ARM build configuration
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Jan 2 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-4
- Bump spec.
* Wed Nov 16 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-3
- Comply to MPI guidelines by separating autoloading into separate package
(BZ #647147).
* Tue Oct 18 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-2
- Rebuild for hwloc soname bump.
* Sun Sep 11 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-1
- Update to 1.4.1p1 patch update
- Add enable-lib-depend to configure flags
* Sat Aug 27 2011 Deji Akingunola <dakingun@gmail.com> - 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 <jussilehtola@fedoraproject.org> - 1.4-2
- Respect environment module guidelines wrt placement of module file.
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
- Update to 1.4 final
%autochangelog

View File

@ -1 +1 @@
SHA512 (mpich-3.3.2.tar.gz) = 555a92e66f0154dde8ac609b3d1410524f644f4eb727bcd910fc20504cf93ede13ab4b5f14dbf5e2201001474a1d687aba3b7d263e74144fc7f968a19a163193
SHA512 (mpich-4.0.3.tar.gz) = d1463dca8f0073cee6a2db894dbb3889986c6ee6353577f778abc38c90a06afb960e3dbbe87d3c2f284e32650b723a153a143f10b32e4a3bfe6087682ffe9649