diff --git a/.gitignore b/.gitignore index 2a4f638..c1daaca 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,8 @@ /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-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch index 5a9b7b8..2fbee32 100644 --- a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch +++ b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch @@ -30,7 +30,7 @@ index e905ff2e20..ff6dc35807 100644 Requires: -Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ @WRAPPER_LDFLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ -Cflags: @WRAPPER_CPPFLAGS@ @WRAPPER_CFLAGS@ -I${includedir} -+Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ ++Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ +Cflags: @WRAPPER_CPPFLAGS@ -I${includedir} # pkg-config does not understand Cxxflags, etc. So we allow users to diff --git a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch index af7828c..46e6c13 100644 --- a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +++ b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch @@ -18,8 +18,8 @@ index ff6dc35807..5ad7e8bcbc 100644 Version: @MPICH_VERSION@ URL: http://www.mcs.anl.gov/research/projects/mpich Requires: --Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ -+Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ @WRAPPER_LIBS@ +-Libs: @WRAPPER_C_DYNAMIC_LOADING_FLAGS@ -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ ++Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@ Cflags: @WRAPPER_CPPFLAGS@ -I${includedir} # pkg-config does not understand Cxxflags, etc. So we allow users to diff --git a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch index 613d7c4..ad427f7 100644 --- a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch +++ b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch @@ -1,7 +1,7 @@ -From e4f0e86f815d8bd3dbb7cccf660bae6ab7f302dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Sun, 10 Apr 2022 09:35:14 +0200 -Subject: [PATCH 3/4] Drop build flags, e.g. -specs... and -lto from mpi +From 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: @@ -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 56d2dcb242..933ee22bf0 100644 +index 3fc695f..d8659e5 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 56d2dcb242..933ee22bf0 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- 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 654131528e..4ebdc8b6ef 100644 +index 99a8c90..e093907 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 654131528e..4ebdc8b6ef 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- 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 10d11e3fba..4066bb46f2 100644 +index 29566ba..acf897b 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 10d11e3fba..4066bb46f2 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- 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 1c0078100f..2c090cb06c 100644 +index 0b830fe..36c2486 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 1c0078100f..2c090cb06c 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- 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 1130c57986..91a6cb56c5 100644 +index 5312aea..c1e557b 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 1130c57986..91a6cb56c5 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" fi - # A temporary statement to invoke the compiler + extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@" diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in -index a1e7f4dd8e..9d89a8bbe7 100644 +index 902b0f7..95c1232 100644 --- a/src/env/mpifort.sh.in +++ b/src/env/mpifort.sh.in @@ -352,12 +352,12 @@ elif [ -n "$FCMODINC" ] ; then @@ -133,13 +133,16 @@ index a1e7f4dd8e..9d89a8bbe7 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@ @WRAPPER_LIBS@" -+ final_libs="${final_libs} @LIBS@ " +- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__" ++ final_libs="${final_libs}" fi - # A temporary statement to invoke the compiler + extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@" +-- +2.40.0.rc1 + diff --git a/0004-Make-mpich.module-useful.patch b/0004-Make-mpich.module-useful.patch index 2d5d1ea..f18ef39 100644 --- a/0004-Make-mpich.module-useful.patch +++ b/0004-Make-mpich.module-useful.patch @@ -11,7 +11,7 @@ diff --git a/src/packaging/envmods/mpich.module.in b/src/packaging/envmods/mpich index 3d6b4fa623..b8283274ee 100644 --- a/src/packaging/envmods/mpich.module.in +++ b/src/packaging/envmods/mpich.module.in -@@ -3,12 +3,23 @@ +@@ -3,12 +3,24 @@ # MPICH module for use with 'environment-modules' package: # @@ -42,3 +42,4 @@ index 3d6b4fa623..b8283274ee 100644 +prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path MANPATH :@mandir@ +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig ++prepend-path CMAKE_PREFIX_PATH @LIBDIR@ diff --git a/6374.patch b/6374.patch deleted file mode 100644 index 9471ae6..0000000 --- a/6374.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2b8c5c7dc4974fc471b446e6cc939936aa14fd8f Mon Sep 17 00:00:00 2001 -From: Hui Zhou -Date: Sat, 21 Jan 2023 10:35:32 -0600 -Subject: [PATCH] coll: fix allgatherv early return case - -The localcopy omitted considering displs. ---- - src/binding/c/coll_api.txt | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/binding/c/coll_api.txt b/src/binding/c/coll_api.txt -index 55be70d093e..d288272e2f3 100644 ---- a/src/binding/c/coll_api.txt -+++ b/src/binding/c/coll_api.txt -@@ -57,7 +57,10 @@ MPI_Allgatherv: - { -- early_return -- - if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { - if (sendbuf != MPI_IN_PLACE) { -- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); -+ MPI_Aint recvtype_extent; -+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); -+ MPIR_Localcopy(sendbuf, sendcount, sendtype, -+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); - } - goto fn_exit; - } -@@ -188,7 +191,10 @@ MPI_Iallgatherv: - { -- early_return -- - if (comm_ptr->comm_kind == MPIR_COMM_KIND__INTRACOMM && MPIR_Comm_size(comm_ptr) == 1) { - if (sendbuf != MPI_IN_PLACE) { -- MPIR_Localcopy(sendbuf, sendcount, sendtype, recvbuf, recvcounts[0], recvtype); -+ MPI_Aint recvtype_extent; -+ MPIR_Datatype_get_extent_macro(recvtype, recvtype_extent); -+ MPIR_Localcopy(sendbuf, sendcount, sendtype, -+ (char *) recvbuf + displs[0] * recvtype_extent, recvcounts[0], recvtype); - } - MPIR_Request *request_ptr = MPIR_Request_create_complete(MPIR_REQUEST_KIND__COLL); - *request = request_ptr->handle; diff --git a/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch index 2f6ec43..e093283 100644 --- a/mpich-aclocal_cc-implicit-int.patch +++ b/mpich-aclocal_cc-implicit-int.patch @@ -6,10 +6,10 @@ revision. Submitted upstream: diff --git a/confdb/aclocal_cc.m4 b/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/confdb/aclocal_cc.m4 +++ b/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -19,7 +19,7 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 -index 8a1552d561306f24..cd28a4f937eaf824 100644 +index 8a1552d..cd28a4f 100644 --- a/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 +++ b/modules/json-c/autoconf-archive/m4/aclocal_cc.m4 @@ -383,7 +383,7 @@ extern int pfoo_(int); @@ -32,7 +32,7 @@ index 8a1552d561306f24..cd28a4f937eaf824 100644 ],[ AC_LANG_SOURCE([ diff --git a/modules/yaksa/m4/aclocal_cc.m4 b/modules/yaksa/m4/aclocal_cc.m4 -index d15d6741602daf07..9fcf48527653ff01 100644 +index d15d674..9fcf485 100644 --- a/modules/yaksa/m4/aclocal_cc.m4 +++ b/modules/yaksa/m4/aclocal_cc.m4 @@ -422,7 +422,7 @@ extern int pfoo_(int); @@ -45,10 +45,10 @@ index d15d6741602daf07..9fcf48527653ff01 100644 ],[ AC_LANG_SOURCE([ diff --git a/src/mpi/romio/confdb/aclocal_cc.m4 b/src/mpi/romio/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpi/romio/confdb/aclocal_cc.m4 +++ b/src/mpi/romio/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -58,10 +58,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpi/romio/mpl/confdb/aclocal_cc.m4 +++ b/src/mpi/romio/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -71,10 +71,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/mpl/confdb/aclocal_cc.m4 b/src/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/mpl/confdb/aclocal_cc.m4 +++ b/src/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -84,49 +84,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/src/pm/hydra/confdb/aclocal_cc.m4 b/src/pm/hydra/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/src/pm/hydra/confdb/aclocal_cc.m4 +++ b/src/pm/hydra/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra2/confdb/aclocal_cc.m4 b/src/pm/hydra2/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra2/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra2/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s - #pragma weak PFoo_ = Foo - #pragma weak pfoo_ = Foo - int Foo(int); -- int Foo(a) { return a; } -+ int Foo(int a) { return a; } - ]])],[AC_LANG_SOURCE([[ - extern int PFoo(int), PFoo_(int), pfoo_(int); - int main() { -diff --git a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 ---- a/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -+++ b/src/pm/hydra2/mpl/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -136,10 +97,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/test/mpi/confdb/aclocal_cc.m4 b/test/mpi/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/test/mpi/confdb/aclocal_cc.m4 +++ b/test/mpi/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); @@ -149,10 +110,10 @@ index 36b44216d36dd8db..cafb5a6ae137f750 100644 extern int PFoo(int), PFoo_(int), pfoo_(int); int main() { diff --git a/test/mpi/dtpools/confdb/aclocal_cc.m4 b/test/mpi/dtpools/confdb/aclocal_cc.m4 -index 36b44216d36dd8db..cafb5a6ae137f750 100644 +index a85e082..2710ada 100644 --- a/test/mpi/dtpools/confdb/aclocal_cc.m4 +++ b/test/mpi/dtpools/confdb/aclocal_cc.m4 -@@ -388,7 +388,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s +@@ -381,7 +381,7 @@ AC_CACHE_CHECK([for multiple weak symbol support], pac_cv_prog_c_multiple_weak_s #pragma weak PFoo_ = Foo #pragma weak pfoo_ = Foo int Foo(int); diff --git a/mpich.spec b/mpich.spec index 64f58d2..173a671 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,8 +1,8 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.0.3 +Version: 4.2.2 Release: %autorelease -License: MIT +License: mpich2 URL: https://www.mpich.org/ Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz @@ -14,8 +14,6 @@ Patch: 0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch Patch: 0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch Patch: 0004-Make-mpich.module-useful.patch # TODO: submit ^ upstream -# https://github.com/pmodels/mpich/pull/6374 -Patch: 6374.patch Patch: mpich-configure-max_align_t.patch Patch: mpich-aclocal_cc-implicit-int.patch @@ -29,13 +27,27 @@ 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 -%ifarch aarch64 ppc64le x86_64 +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} @@ -127,9 +139,8 @@ CONFIGURE_OPTS=( --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 @@ -138,10 +149,16 @@ CONFIGURE_OPTS=( --mandir=%{_mandir}/%{name}-%{_arch} --docdir=%{_datadir}/%{name}/doc --htmldir=%{_datadir}/%{name}/doc - --with-hwloc-prefix=system - --with-libfabric=system - --with-ucx=system + --with-hwloc + --with-libfabric +%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[@]}" \ @@ -194,8 +211,15 @@ 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/ diff --git a/sources b/sources index e4fb767..09a5e12 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.0.3.tar.gz) = d1463dca8f0073cee6a2db894dbb3889986c6ee6353577f778abc38c90a06afb960e3dbbe87d3c2f284e32650b723a153a143f10b32e4a3bfe6087682ffe9649 +SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757