Update MPICH to v5.0.1

This commit is contained in:
SY Wang 2026-04-12 21:46:55 +00:00 • committed by Growl
commit 46fa8eaeb2
7 changed files with 156 additions and 268 deletions

View file

@ -19,7 +19,7 @@ diff --git a/src/env/mpicc.bash.in b/src/env/mpicc.bash.in
index 3fc695f..d8659e5 100644
--- a/src/env/mpicc.bash.in
+++ b/src/env/mpicc.bash.in
@@ -247,13 +247,13 @@ if [ -n "$profConf" ] ; then
@@ -257,13 +257,13 @@ if [ -n "$profConf" ] ; then
fi
fi
@ -31,17 +31,17 @@ index 3fc695f..d8659e5 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
# -----------------------------------------------------------------------
if [ "${0%_abi}" != "$0" ] ; then
diff --git a/src/env/mpicc.sh.in b/src/env/mpicc.sh.in
index 99a8c90..e093907 100644
--- a/src/env/mpicc.sh.in
+++ b/src/env/mpicc.sh.in
@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then
@@ -263,13 +263,13 @@
fi
fi
@ -53,17 +53,17 @@ index 99a8c90..e093907 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
# -----------------------------------------------------------------------
if [ "${0%_abi}" != "$0" ] ; then
diff --git a/src/env/mpicxx.bash.in b/src/env/mpicxx.bash.in
index 29566ba..acf897b 100644
--- a/src/env/mpicxx.bash.in
+++ b/src/env/mpicxx.bash.in
@@ -253,13 +253,13 @@ if [ -n "$profConf" ] ; then
@@ -262,13 +262,13 @@ if [ -n "$profConf" ] ; then
fi
fi
@ -75,17 +75,17 @@ index 29566ba..acf897b 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
# A temporary statement to invoke the compiler
if [ "${0%_abi}" != "$0" ] ; then
diff --git a/src/env/mpicxx.sh.in b/src/env/mpicxx.sh.in
index 0b830fe..36c2486 100644
--- a/src/env/mpicxx.sh.in
+++ b/src/env/mpicxx.sh.in
@@ -259,13 +259,13 @@ if [ -n "$profConf" ] ; then
@@ -268,13 +268,13 @@ if [ -n "$profConf" ] ; then
fi
fi
@ -97,12 +97,12 @@ index 0b830fe..36c2486 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
# A temporary statement to invoke the compiler
if [ "${0%_abi}" != "$0" ] ; then
diff --git a/src/env/mpifort.bash.in b/src/env/mpifort.bash.in
index 5312aea..c1e557b 100644
--- a/src/env/mpifort.bash.in
@ -117,7 +117,7 @@ index 5312aea..c1e557b 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
@ -137,12 +137,9 @@ index 902b0f7..95c1232 100644
+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_ldflags="${final_ldflags} @WRAPPER_DEPENDENCY_LDFLAGS@"
- final_libs="${final_libs} __LIBS_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@"
--
2.40.0.rc1

View file

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

@ -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,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],

123
mpich-romio-test.patch Normal file
View file

@ -0,0 +1,123 @@
diff --git a/Makefile.am b/Makefile.am
index 49b6b988e12..6988faf6fdc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -52,6 +52,9 @@ external_subdirs = @mplsrcdir@ @hwlocsrcdir@ @jsonsrcdir@ @yaksasrcdir@ @pmisrcdir@
external_ldflags = @RPATHS@ @mpllibdir@ @yaksalibdir@
external_libs = @WRAPPER_LIBS@
+ROMIO_TEST_MPIEXEC = @ROMIO_TEST_MPIEXEC@
+export ROMIO_TEST_MPIEXEC
+
# convenience libs that do not depend on MPI
pmpi_convenience_libs = @mpllib@ @hwloclib@ @jsonlib@ @yaksalib@ @pmilib@
diff --git a/configure.ac b/configure.ac
index 2112fe27555..51fff0ab384 100644
--- a/configure.ac
+++ b/configure.ac
@@ -903,6 +903,9 @@ AC_ARG_VAR([PMPIABILIBNAME],[can be used to override the name of the MPI profili
AC_ARG_VAR([MPICXXLIBNAME],[can be used to override the name of the MPI C++ library (default: "${MPILIBNAME}cxx")])
AC_ARG_VAR([MPIFCLIBNAME],[can be used to override the name of the MPI fortran library (default: "${MPILIBNAME}fort")])
MPILIBNAME=${MPILIBNAME:-"mpi"}
+# ROMIO is configured as a subdirectory and needs the resolved library name
+# when building its legacy tests against the top-level build tree.
+export MPILIBNAME
PMPILIBNAME_set=no
if test -n "$PMPILIBNAME" ; then
PMPILIBNAME_set=yes
@@ -1559,6 +1562,25 @@ fi
pm_name=$first_pm_name
AC_SUBST(pm_name)
+# Legacy ROMIO tests run before the configured installation prefix is
+# populated. Use the primary process manager built in this tree instead of
+# the future $(bindir)/mpiexec path.
+case "$pm_name" in
+ hydra)
+ ROMIO_TEST_MPIEXEC="${main_top_builddir}/src/pm/hydra/mpiexec.hydra"
+ ;;
+ gforker)
+ ROMIO_TEST_MPIEXEC="${main_top_builddir}/src/pm/gforker/mpiexec"
+ ;;
+ remshell)
+ ROMIO_TEST_MPIEXEC="${main_top_builddir}/src/pm/remshell/mpiexec"
+ ;;
+ *)
+ ROMIO_TEST_MPIEXEC=""
+ ;;
+esac
+AC_SUBST(ROMIO_TEST_MPIEXEC)
+
dnl
dnl gforker and remshell does not use separate configure.
dnl
diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac
index fa8975b5dbc..ffea3140ede 100644
--- a/src/mpi/romio/configure.ac
+++ b/src/mpi/romio/configure.ac
@@ -1230,24 +1230,15 @@ elif test $FROM_MPICH = yes ; then
MPICH_HOME=`dirname $MPICH_HOME`
MPICH_HOME=`dirname $MPICH_HOME`
if test -z "$MPI_BIN_DIR" ; then MPI_BIN_DIR=$MPICH_HOME/bin ; fi
- # No special compiler script.
- # BUT we need the include paths
- # CC="$CC -I${use_top_srcdir}/src/include -I${top_build_dir}/src/include"
- # TEST_CC="$CC"
- # MPI_LIB="$LIBNAME"
- # To allow ROMIO to work with the LIBTOOL scripts, we want to
- # work directly with the CC, not the mpicc, compiler.
- # Note that in the "FROM_MPICH" case, the CPPFLAGS and INCLUDES are already
- # properly set
- #CC=${top_build_dir}/bin/mpicc
- #
- # set the compilers to the ones in MPICH bin directory (main_top_builddir/bin)
- TEST_CC='$(bindir)/mpicc'
+ # Run the tests against the uninstalled MPICH build tree. Use the
+ # configured C compiler and let libtool resolve the dependencies recorded
+ # in the top-level MPI library, rather than using an installed wrapper.
+ TEST_CC="$CC"
+ TEST_LIBNAME="${main_top_builddir}/lib/lib${MPILIBNAME}.la"
MPI_H_INCLUDE="-I${main_top_builddir}/src/include -I${main_top_srcdir}/src/include"
ROMIO_INCLUDE=""
USER_CFLAGS=""
- TEST_LIBNAME=""
- MPIRUN='${bindir}/mpiexec'
+ MPIRUN=""
#
# Turn off the building of the Fortran interface and the Info routines
EXTRA_DIRS=""
diff --git a/src/mpi/romio/test/Makefile.am b/src/mpi/romio/test/Makefile.am
index a642619e518..e416bcdb043 100644
--- a/src/mpi/romio/test/Makefile.am
+++ b/src/mpi/romio/test/Makefile.am
@@ -17,7 +17,7 @@ OUR_LIBS = @TEST_LIBNAME@ @MPI_LIB@
LDADD = $(OUR_LIBS)
-AM_CPPFLAGS = $(ROMIO_INCLUDE)
+AM_CPPFLAGS = $(ROMIO_INCLUDE) @MPI_H_INCLUDE@
AM_CPPFLAGS += -I$(top_builddir)/include -I$(top_srcdir)/include
AM_CPPFLAGS += -I$(top_builddir)/adio/include -I$(top_srcdir)/adio/include @mpl_includedir@
AM_CFLAGS = $(USER_CFLAGS)
diff --git a/src/mpi/romio/test/parallel_run.sh.in b/src/mpi/romio/test/parallel_run.sh.in
index 6a2c01ce0c0..2e854cdd3b8 100755
--- a/src/mpi/romio/test/parallel_run.sh.in
+++ b/src/mpi/romio/test/parallel_run.sh.in
@@ -12,7 +12,15 @@ set -e
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
-mpirun="@MPIRUN@"
+# MPICH exports ROMIO_TEST_MPIEXEC from the top-level Makefile. It points
+# to the process manager built in this tree rather than the launcher that will
+# later be installed in $(bindir).
+mpirun="${ROMIO_TEST_MPIEXEC:-@MPIRUN@}"
+
+if test -z "$mpirun" ; then
+ echo "SKIP: no usable MPI launcher in the build tree" >&2
+ exit 77
+fi
# valgrind_opt="libtool --mode=execute valgrind --quiet --leak-check=full"

View file

@ -1,6 +1,8 @@
%global somajor 12
Summary: A high-performance implementation of MPI
Name: mpich
Version: 4.2.2
Version: 5.0.1
Release: %autorelease
License: mpich2
URL: https://www.mpich.org/
@ -16,8 +18,7 @@ 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
Patch: mpich-romio-test.patch
BuildRequires: make
BuildRequires: autoconf
@ -234,14 +235,17 @@ make check VERBOSE=1 \
%files
%license COPYRIGHT
%doc CHANGES README README.envvar RELEASE_NOTES
%config(noreplace) %{_sysconfdir}/mpixxx_opts.conf
%doc CHANGES README README.envvar
%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}/lib/libmpi.so.%{somajor}{,.*}
%{_libdir}/%{name}/lib/libmpicxx.so.%{somajor}{,.*}
%{_libdir}/%{name}/lib/libmpifort.so.%{somajor}{,.*}
%{_libdir}/%{name}/bin/hydra*
%{_libdir}/%{name}/bin/mpichversion
%{_libdir}/%{name}/bin/mpiexec*
@ -258,7 +262,15 @@ make check VERBOSE=1 \
%{_includedir}/%{name}-%{_arch}/
%{_libdir}/%{name}/lib/pkgconfig/
%{_libdir}/%{name}/lib/cmake/
%{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/libmpi.so
%{_libdir}/%{name}/lib/libmpicxx.so
%{_libdir}/%{name}/lib/libmpifort.so
%{_libdir}/%{name}/lib/libmpich.so
%{_libdir}/%{name}/lib/libmpichcxx.so
%{_libdir}/%{name}/lib/libmpichf90.so
%{_libdir}/%{name}/lib/libfmpich.so
%{_libdir}/%{name}/lib/libmpl.so
%{_libdir}/%{name}/lib/libopa.so
%{_libdir}/%{name}/bin/mpicc
%{_libdir}/%{name}/bin/mpic++
%{_libdir}/%{name}/bin/mpicxx

View file

@ -1 +1 @@
SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757
SHA512 (mpich-5.0.1.tar.gz) = e62ffa7ef0505c0c6d7305ec118727dee817f7796b0246f298fd52f3f930f6cf3eb25068284bd43d70198aa3a826f7692be408d7b0140eacf4c67cbbf29992bf