Compare commits

..

1 commit

Author SHA1 Message Date
Ben Boeckel
2400e5803f Backport PR#6374 to fix MPI_allgatherv fastpath error 2023-02-13 10:28:35 -05:00
12 changed files with 99 additions and 256 deletions

6
.gitignore vendored
View file

@ -9,9 +9,3 @@
/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

View file

@ -30,7 +30,7 @@ index e905ff2e20..ff6dc35807 100644
Requires:
-Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ @WRAPPER_LDFLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@
-Cflags: @WRAPPER_CPPFLAGS@ @WRAPPER_CFLAGS@ -I${includedir}
+Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@
+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

View file

@ -18,8 +18,8 @@ index ff6dc35807..5ad7e8bcbc 100644
Version: @MPICH_VERSION@
URL: http://www.mcs.anl.gov/research/projects/mpich
Requires:
-Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@
+Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@
-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

@ -1,7 +1,7 @@
From 695102787fde0b3adb3917b12b97f8c49f7f57a5 Mon Sep 17 00:00:00 2001
From: rpm-build <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
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:
@ -16,7 +16,7 @@ https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/mess
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
index 56d2dcb242..933ee22bf0 100644
--- a/src/env/mpicc.bash.in
+++ b/src/env/mpicc.bash.in
@@ -247,13 +247,13 @@ if [ -n "$profConf" ] ; then
@ -26,19 +26,19 @@ index 3fc695f..d8659e5 100644
-final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@"
-final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
-final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_cflags="@MPICH_MPICC_CFLAGS@"
+final_cppflags="@MPICH_MPICC_CPPFLAGS@"
+final_ldflags="@MPICH_MPICC_LDFLAGS@"
+final_cflags="@MPICH_MPICC_CFLAGS@ "
+final_cppflags="@MPICH_MPICC_CPPFLAGS@ "
+final_ldflags="@MPICH_MPICC_LDFLAGS@ "
final_libs="@MPICH_MPICC_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- 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 99a8c90..e093907 100644
index 654131528e..4ebdc8b6ef 100644
--- a/src/env/mpicc.sh.in
+++ b/src/env/mpicc.sh.in
@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then
@ -48,19 +48,19 @@ index 99a8c90..e093907 100644
-final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@"
-final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
-final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_cflags="@MPICH_MPICC_CFLAGS@"
+final_cppflags="@MPICH_MPICC_CPPFLAGS@"
+final_ldflags="@MPICH_MPICC_LDFLAGS@"
+final_cflags="@MPICH_MPICC_CFLAGS@ "
+final_cppflags="@MPICH_MPICC_CPPFLAGS@ "
+final_ldflags="@MPICH_MPICC_LDFLAGS@ "
final_libs="@MPICH_MPICC_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- 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 29566ba..acf897b 100644
index 10d11e3fba..4066bb46f2 100644
--- a/src/env/mpicxx.bash.in
+++ b/src/env/mpicxx.bash.in
@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then
@ -70,19 +70,19 @@ index 29566ba..acf897b 100644
-final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@"
-final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
-final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@"
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@"
+final_ldflags="@MPICH_MPICXX_LDFLAGS@"
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ "
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ "
+final_ldflags="@MPICH_MPICXX_LDFLAGS@ "
final_libs="@MPICH_MPICXX_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- 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 0b830fe..36c2486 100644
index 1c0078100f..2c090cb06c 100644
--- a/src/env/mpicxx.sh.in
+++ b/src/env/mpicxx.sh.in
@@ -259,13 +259,13 @@ if [ -n "$profConf" ] ; then
@ -92,19 +92,19 @@ index 0b830fe..36c2486 100644
-final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@"
-final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
-final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@"
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@"
+final_ldflags="@MPICH_MPICXX_LDFLAGS@"
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ "
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ "
+final_ldflags="@MPICH_MPICXX_LDFLAGS@ "
final_libs="@MPICH_MPICXX_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- 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 5312aea..c1e557b 100644
index 1130c57986..91a6cb56c5 100644
--- a/src/env/mpifort.bash.in
+++ b/src/env/mpifort.bash.in
@@ -335,12 +335,12 @@ elif [ -n "$FCMODINC" ] ; then
@ -113,18 +113,18 @@ index 5312aea..c1e557b 100644
-final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@"
-final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@"
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@"
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ "
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ "
final_libs="@MPICH_MPIFORT_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
+ final_libs="${final_libs} @LIBS@ "
fi
extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@"
# A temporary statement to invoke the compiler
diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in
index 902b0f7..95c1232 100644
index a1e7f4dd8e..9d89a8bbe7 100644
--- a/src/env/mpifort.sh.in
+++ b/src/env/mpifort.sh.in
@@ -352,12 +352,12 @@ elif [ -n "$FCMODINC" ] ; then
@ -133,16 +133,13 @@ index 902b0f7..95c1232 100644
-final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@"
-final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@"
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@"
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@"
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ "
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ "
final_libs="@MPICH_MPIFORT_LIBS@"
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
final_ldflags="${final_ldflags} @LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
+ final_libs="${final_libs} @LIBS@ "
fi
extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@"
--
2.40.0.rc1
# A temporary statement to invoke the compiler

View file

@ -11,7 +11,7 @@ diff --git a/src/packaging/envmods/mpich.module.in b/src/packaging/envmods/mpich
index 3d6b4fa623..b8283274ee 100644
--- a/src/packaging/envmods/mpich.module.in
+++ b/src/packaging/envmods/mpich.module.in
@@ -3,12 +3,24 @@
@@ -3,12 +3,23 @@
# MPICH module for use with 'environment-modules' package:
#
@ -42,4 +42,3 @@ index 3d6b4fa623..b8283274ee 100644
+prepend-path LD_LIBRARY_PATH @libdir@
+prepend-path MANPATH :@mandir@
+prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
+prepend-path CMAKE_PREFIX_PATH @LIBDIR@

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;

View file

@ -1,124 +0,0 @@
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 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() {

View file

@ -1,18 +0,0 @@
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

@ -1,17 +0,0 @@
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],

1
mpich.pth.py2 Normal file
View file

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

View file

@ -1,12 +1,13 @@
Summary: A high-performance implementation of MPI
Name: mpich
Version: 4.2.2
Version: 4.0.2
Release: %autorelease
License: mpich2
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
Patch: 0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch
@ -14,10 +15,8 @@ Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch
Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch
Patch: 0004-Make-mpich.module-useful.patch
# TODO: submit ^ upstream
Patch: mpich-configure-max_align_t.patch
Patch: mpich-aclocal_cc-implicit-int.patch
Patch: mpich-json-configure-__thread.patch
# https://github.com/pmodels/mpich/pull/6374
Patch: 6374.patch
BuildRequires: make
BuildRequires: autoconf
@ -27,27 +26,13 @@ BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-gfortran
BuildRequires: hwloc-devel >= 2.0
%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
%ifarch aarch64 ppc64le x86_64
BuildRequires: ucx-devel
%endif
%if ! 0%{?rhel}
BuildRequires: yaksa-devel
%else
Provides: bundled(yaksa) = 0.2
%endif
# For ./maint/extractcvars
BuildRequires: perl(lib)
%ifarch %{valgrind_arches}
%ifnarch s390 %{mips}
BuildRequires: valgrind-devel
%endif
# For %%{python3_sitearch}
@ -139,8 +124,9 @@ CONFIGURE_OPTS=(
--enable-lib-depend
--disable-rpath
--disable-silent-rules
--disable-dependency-tracking
--enable-fortran
--with-gnu-ld
--with-device=ch3:nemesis
--with-pm=hydra:gforker
--includedir=%{_includedir}/%{name}-%{_arch}
--bindir=%{_libdir}/%{name}/bin
@ -149,16 +135,10 @@ CONFIGURE_OPTS=(
--mandir=%{_mandir}/%{name}-%{_arch}
--docdir=%{_datadir}/%{name}/doc
--htmldir=%{_datadir}/%{name}/doc
--with-hwloc
--with-libfabric
%ifarch aarch64 ppc64le x86_64 riscv64
--with-ucx
%endif
%if ! 0%{?rhel}
--with-yaksa
%endif
--with-hwloc-prefix=system
--with-libfabric=system
--with-ucx=system
)
# --with-device=ch3:nemesis
# Set -fallow-argument-mismatch for #1795817
%configure "${CONFIGURE_OPTS[@]}" \
@ -205,21 +185,16 @@ 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
@ -238,15 +213,13 @@ 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/

View file

@ -1 +1 @@
SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757
SHA512 (mpich-4.0.2.tar.gz) = 42b7d8ffee5314cdf9b9f75a2b864f7686066ef86cc225feac7f25c7a487b45636df51c0bbc2d677992e07ed62ae24daf73617f2b44b0dacc6ff69f4e66a9208