Compare commits

...

No commits in common. 'c9' and 'c10-beta' have entirely different histories.
c9 ... c10-beta

2
.gitignore vendored

@ -1 +1 @@
SOURCES/mpich-4.1.1.tar.gz SOURCES/mpich-4.1.2.tar.gz

@ -1 +1 @@
9ac613543e9b53d278196339674499ca71914283 SOURCES/mpich-4.1.1.tar.gz 6c82e540519509d3fb661bd4ccba906273e5102d SOURCES/mpich-4.1.2.tar.gz

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

@ -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@
+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}

@ -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@
+Libs: -L${libdir} -l@MPILIBNAME@ @LPMPILIBNAME@
Cflags: @WRAPPER_CPPFLAGS@ -I${includedir}
# pkg-config does not understand Cxxflags, etc. So we allow users to

@ -0,0 +1,148 @@
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
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 3fc695f..d8659e5 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_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 99a8c90..e093907 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_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 29566ba..acf897b 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_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 0b830fe..36c2486 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_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 5312aea..c1e557b 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_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@"
diff --git a/src/env/mpifort.sh.in b/src/env/mpifort.sh.in
index 902b0f7..95c1232 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_TO_BE_FILLED_AT_INSTALL_TIME__"
+ final_libs="${final_libs}"
fi
extra_f77_flags="@WRAPPER_EXTRA_F77_FLAGS@"
--
2.40.0.rc1

@ -1,5 +1,16 @@
--- mpich-3.2.1/src/packaging/envmods/mpich.module.in.orig 2017-11-11 03:19:44.000000000 +0100 From 27c409c30875ea3ddb8e4bfc6add07c5a3c7780a Mon Sep 17 00:00:00 2001
+++ mpich-3.2.1/src/packaging/envmods/mpich.module.in 2018-04-04 14:14:16.553160669 +0200 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 @@ @@ -3,12 +3,23 @@
# MPICH module for use with 'environment-modules' package: # MPICH module for use with 'environment-modules' package:
# #
@ -31,3 +42,4 @@
+prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path LD_LIBRARY_PATH @libdir@
+prepend-path MANPATH :@mandir@ +prepend-path MANPATH :@mandir@
+prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
+prepend-path CMAKE_PREFIX_PATH @LIBDIR@

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

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

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

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

@ -1,25 +1,60 @@
## START: Set by rpmautospec
## (rpmautospec version 0.6.1)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 14;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec
Summary: A high-performance implementation of MPI Summary: A high-performance implementation of MPI
Name: mpich Name: mpich
Version: 4.1.1 Version: 4.1.2
Release: 1%{?dist} Release: %autorelease
License: MIT License: mpich2
URL: https://www.mpich.org/ URL: https://www.mpich.org/
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
Source1: mpich.macros Source1: mpich.macros
Source2: mpich.pth.py2
Source3: mpich.pth.py3 Source3: mpich.pth.py3
Patch0: mpich-modules.patch
Patch1: 0001-Drop-real128.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
Patch: mpich-configure-max_align_t.patch
Patch: mpich-aclocal_cc-implicit-int.patch
Patch: mpich-json-configure-__thread.patch
BuildRequires: make BuildRequires: make
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
BuildRequires: hwloc-devel >= 2.0 BuildRequires: hwloc-devel >= 2.0
BuildRequires: autoconf %if ! (0%{?rhel} >= 10)
BuildRequires: automake %ifarch x86_64
BuildRequires: libtool # 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
BuildRequires: ucx-devel
%endif
%if ! 0%{?rhel}
BuildRequires: yaksa-devel
%else
Provides: bundled(yaksa) = 0.2
%endif
# For ./maint/extractcvars # For ./maint/extractcvars
BuildRequires: perl(lib) BuildRequires: perl(lib)
%ifnarch s390 %{mips} %ifnarch s390 %{mips}
@ -101,27 +136,21 @@ Requires: python(abi) = %{python3_version}
mpich support for Python 3. mpich support for Python 3.
%prep %prep
%setup %autosetup -p1
%patch0 -p1
%ifarch %{arm}
%patch1 -p1
%endif
%build %build
./autogen.sh ./autogen.sh
CONFIGURE_OPTS=( CONFIGURE_OPTS=(
--with-custom-version-string=%{version}-%{release}
--enable-sharedlibs=gcc --enable-sharedlibs=gcc
--enable-shared --enable-shared
--enable-static=no --enable-static=no
--enable-lib-depend --enable-lib-depend
--disable-rpath --disable-rpath
--disable-silent-rules --disable-silent-rules
--enable-fortran --disable-dependency-tracking
--with-gnu-ld --with-gnu-ld
--with-device=ch3:nemesis
--with-pm=hydra:gforker --with-pm=hydra:gforker
--includedir=%{_includedir}/%{name}-%{_arch} --includedir=%{_includedir}/%{name}-%{_arch}
--bindir=%{_libdir}/%{name}/bin --bindir=%{_libdir}/%{name}/bin
@ -130,11 +159,21 @@ CONFIGURE_OPTS=(
--mandir=%{_mandir}/%{name}-%{_arch} --mandir=%{_mandir}/%{name}-%{_arch}
--docdir=%{_datadir}/%{name}/doc --docdir=%{_datadir}/%{name}/doc
--htmldir=%{_datadir}/%{name}/doc --htmldir=%{_datadir}/%{name}/doc
--with-hwloc-prefix=system --with-hwloc
--with-libfabric
%ifarch aarch64 ppc64le x86_64
--with-ucx
%endif
%if ! 0%{?rhel}
--with-yaksa
%endif
) )
# --with-device=ch3:nemesis
# Set -fallow-argument-mismatch for #1795817 # 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 # Remove rpath
sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@ -143,9 +182,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 #Try and work around 'unused-direct-shlib-dependency' rpmlint warnning
sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool 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 %make_build VERBOSE=1
%install %install
@ -179,11 +215,16 @@ cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name} install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
# Install the .pth files # Install the .pth files
mkdir -p %{buildroot}%{python2_sitearch}/%{name}
install -pDm0644 %{SOURCE2} %{buildroot}%{python2_sitearch}/%{name}.pth
mkdir -p %{buildroot}%{python3_sitearch}/%{name} mkdir -p %{buildroot}%{python3_sitearch}/%{name}
install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth 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 find %{buildroot} -type f -name "*.la" -delete
%check %check
@ -204,6 +245,9 @@ make check VERBOSE=1 \
%dir %{_libdir}/%{name} %dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/lib %dir %{_libdir}/%{name}/lib
%dir %{_libdir}/%{name}/bin %dir %{_libdir}/%{name}/bin
%dir %{_libdir}/%{name}/lib/cmake
%dir %{_libdir}/%{name}/include
%dir %{_fmoddir}/mpich
%{_libdir}/%{name}/lib/*.so.* %{_libdir}/%{name}/lib/*.so.*
%{_libdir}/%{name}/bin/hydra* %{_libdir}/%{name}/bin/hydra*
%{_libdir}/%{name}/bin/mpichversion %{_libdir}/%{name}/bin/mpichversion
@ -221,6 +265,7 @@ make check VERBOSE=1 \
%files devel %files devel
%{_includedir}/%{name}-%{_arch}/ %{_includedir}/%{name}-%{_arch}/
%{_libdir}/%{name}/lib/pkgconfig/ %{_libdir}/%{name}/lib/pkgconfig/
%{_libdir}/%{name}/lib/cmake/
%{_libdir}/%{name}/lib/*.so %{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/bin/mpicc %{_libdir}/%{name}/bin/mpicc
%{_libdir}/%{name}/bin/mpic++ %{_libdir}/%{name}/bin/mpic++
@ -241,28 +286,117 @@ make check VERBOSE=1 \
%{python3_sitearch}/%{name}.pth %{python3_sitearch}/%{name}.pth
%changelog %changelog
* Sat Jun 03 2023 Kamal Heib <kheib@redhat.com> - 4.1.1-1 ## START: Generated by rpmautospec
- Update to upstream release 4.1.1 * Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 4.1.2-14
- Resolves: rhbz#2212010 - Bump release for June 2024 mass rebuild
* Mon Feb 12 2024 Cristian Le <cristian.le@mpsd.mpg.de> - 4.1.2-13
- Added CMAKE_PREFIX_PATH to the module file to unsure that CMake projects
find the available MPI enabled packages, libraries, executables, etc.
* Mon Jan 29 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.2-12
- Drop dependency on ftbfs infinipath-psm
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Nov 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.2-9
- Convert license tag to SPDX
* Sat Nov 27 2021 Honggang Li <honli@redhat.com> - 3.4.2-1 * Tue Oct 10 2023 Benson Muite <benson_muite@emailplus.org> - 4.1.2-8
- Update to latest version 3.4.2 - Own %%{_fmoddir}/mpich
- Related: rhbz#2015398
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> * Sat Sep 30 2023 Benson Muite <benson_muite@emailplus.org> - 4.1.2-7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Create directories for MPICH package development files
Related: rhbz#1991688
* Fri Aug 6 2021 Florian Weimer <fweimer@redhat.com> - 3.4.1-3 * Fri Sep 29 2023 Benson Muite <benson_muite@emailplus.org> - 4.1.2-6
- Rebuild to pick up new build flags from redhat-rpm-config (#1984652) - Mpich should own cmake and include install directories
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> * Mon Jul 31 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 4.1.2-5
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - Use bundled yaksa in RHEL builds
* Mon Jul 31 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.2-3
- Use separate yaksa
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 18 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.2-1
- Version 4.1.2 (rhbz#2213689)
* Mon Jul 10 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 4.1.1-3
- Disable PSM, PSM2 in ELN builds
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 4.1.1-2
- Rebuilt for Python 3.12
* Sat May 20 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1.1-1
- Version 4.4.1 (rhbz#2082757)
* Sat May 20 2023 Orion Poplawski <orion@nwra.com> - 4.1-4
- Remove dependency libs from wrappers
* Sat May 20 2023 Orion Poplawski <orion@nwra.com> - 4.1-2
- Use ucx only on supported arches
* Sat May 20 2023 Orion Poplawski <orion@nwra.com> - 4.1-1
- Update to 4.1; Switch to default ch4:ofi device
* Thu Mar 02 2023 Orion Poplawski <orion@nwra.com> - 4.0.3-1
- Update to 4.0.3 (https://www.mpich.org/2022/11/08/mpich-4-0-3-released/)
* Tue Feb 21 2023 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.2-7
- Drop unused .pth file for python2
* Tue Feb 21 2023 Ben Boeckel <mathstuf@gmail.com> - 4.0.2-6
- Backport PR#6374 to fix MPI_allgatherv fastpath error
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 03 2022 Florian Weimer <fweimer@redhat.com> - 4.0.2-4
- Port configure script to C99
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.0.2-2
- Rebuilt for Python 3.11
* Sun Apr 10 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.0.2-1
- Version 4.0.2 (rhbz#1939170)
* Tue Feb 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-14
- ucx is only available on three architectures
* Tue Feb 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-13
- Unbundle libfabric and ucx
* Tue Feb 08 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-12
- Drop link and optimization flags from pkgconf file
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jan 19 2022 Sandro Mani <manisandro@gmail.com> - 3.4.1-10
- Create and own mpich/lib/cmake directory
* 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 * Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4.1-1
- Update to latest version (#1912981) - Update to latest version (#1912981)
* Tue Jan 5 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4-1 * Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4-1
- Update to latest version (#1912981) - Update to latest version (#1912981)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-9 * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-9
@ -507,3 +641,5 @@ make check VERBOSE=1 \
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1 * Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
- Update to 1.4 final - Update to 1.4 final
## END: Generated by rpmautospec

Loading…
Cancel
Save