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 5a9b7b88041dd2adab35e81130e327c4b826dae7..2fbee32fe1e91e9db61c07a1a0c043cb23d61d55 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 af7828ce5f790c23cf27ed2ecfbb1c3c115d7122..46e6c13b7f7c8027b46ac30b149fe027ba8313e5 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 613d7c4a3a857431abc77a822de3e05c13fd0b9c..ad427f7f5c6fbb7af5582fa1de4122c16c170df7 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 2d5d1ea9d64a64b54c8c3d9e8717b9d8a78f54c1..ac2a39df3c2fff236b32c8cc8e0c63c686c49505 100644 --- a/0004-Make-mpich.module-useful.patch +++ b/0004-Make-mpich.module-useful.patch @@ -42,3 +42,4 @@ index 3d6b4fa623..b8283274ee 100644 +prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path MANPATH :@mandir@ +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig ++prepend-path CMAKE_PREFIX_PATH @LIBDIR@ diff --git a/6374.patch b/6374.patch deleted file mode 100644 index 9471ae6eb6bf58e0b49a392e5a7e2585b0cdf898..0000000000000000000000000000000000000000 --- 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-4.0.3.tar.gz b/mpich-4.1.2.tar.gz similarity index 75% rename from mpich-4.0.3.tar.gz rename to mpich-4.1.2.tar.gz index f53b91b9ef7c67a0444d9b3c1a2c60b9b765b41b..ebdb9e00bf68bf1b8fb3f16e22cfb34648072673 100644 Binary files a/mpich-4.0.3.tar.gz and b/mpich-4.1.2.tar.gz differ diff --git a/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch index 2f6ec4373d99d1b2951636564f98fb3a53123cdf..e0932832713076922735e7057ad1117741a9a4b2 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 824f8a533ea9f25dbd43410c6fbbd905a27568a6..78010123ade489280ed3b7ade1d242c27f663fa2 100644 --- a/mpich.spec +++ b/mpich.spec @@ -2,9 +2,9 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.0.3 +Version: 4.1.2 Release: %{anolis_release}%{?dist} -License: MIT +License: mpich2 URL: https://www.mpich.org/ Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz @@ -15,8 +15,6 @@ 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 -# https://github.com/pmodels/mpich/pull/6374 -Patch: 6374.patch Patch: mpich-configure-max_align_t.patch Patch: mpich-aclocal_cc-implicit-int.patch @@ -30,8 +28,15 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gcc-gfortran BuildRequires: hwloc-devel >= 2.0 -BuildRequires: libfabric-devel %ifarch x86_64 +# BuildRequires: json-c-devel +BuildRequires: libpsm2-devel +%endif +BuildRequires: libfabric-devel +BuildRequires: libnl3-devel +BuildRequires: libuuid-devel +BuildRequires: numactl-devel +%ifarch x86_64 aarch64 BuildRequires: ucx-devel %endif # For ./maint/extractcvars @@ -121,9 +126,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 @@ -132,9 +136,11 @@ CONFIGURE_OPTS=( --mandir=%{_mandir}/%{name}-%{_arch} --docdir=%{_datadir}/%{name}/doc --htmldir=%{_datadir}/%{name}/doc - --with-hwloc-prefix=system - --with-libfabric=system - --with-ucx=system + --with-hwloc + --with-libfabric +%ifarch aarch64 x86_64 + --with-ucx +%endif ) # Set -fallow-argument-mismatch for #1795817 @@ -142,6 +148,13 @@ 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 +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 + %make_build VERBOSE=1 %install @@ -181,10 +194,17 @@ install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth # Create cmake directory mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/ +# Create directories for MPICH application development files +mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake +mkdir -p %{buildroot}%{_libdir}/%{name}/include + find %{buildroot} -type f -name "*.la" -delete %check -make check VERBOSE=1 +make check VERBOSE=1 \ +%ifarch loongarch64 +|| : +%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 @@ -196,6 +216,9 @@ 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 @@ -234,6 +257,15 @@ make check VERBOSE=1 %{python3_sitearch}/%{name}.pth %changelog +* Wed Mar 26 2025 Wenlong Zhang - 4.1.2-2 +- ignored the test results on loongarch64 + +* Thu Mar 20 2025 Xiaoping Liu - 4.1.2-1 +- update to 4.1.2 from 4.0.3 +- Migrated to SPDX license +- Switch to default ch4:ofi device +- Mpich should own cmake and include install directories + * Wed Mar 13 2024 Zhao Hang - 4.0.3-2 - Rebuild with python3.11