Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
17
.gitignore
vendored
17
.gitignore
vendored
@ -1 +1,16 @@
|
||||
SOURCES/mpich-4.1.1.tar.gz
|
||||
/mpich-3.0.4.tar.gz
|
||||
/mpich-3.1.tar.gz
|
||||
/mpich-3.1.4.tar.gz
|
||||
/mpich-3.2.tar.gz
|
||||
/mpich-3.2.1.tar.gz
|
||||
/mpich-3.1.1.tar.gz
|
||||
/mpich-3.3.1.tar.gz
|
||||
/mpich-3.3.2.tar.gz
|
||||
/mpich-3.4.tar.gz
|
||||
/mpich-3.4.1.tar.gz
|
||||
/mpich-4.0.2.tar.gz
|
||||
/mpich-4.0.3.tar.gz
|
||||
/mpich-4.1.tar.gz
|
||||
/mpich-4.1.1.tar.gz
|
||||
/mpich-4.1.2.tar.gz
|
||||
/mpich-4.2.2.tar.gz
|
||||
|
@ -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}
|
25
0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch
Normal file
25
0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch
Normal file
@ -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
|
148
0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch
Normal file
148
0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch
Normal file
@ -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
|
||||
+++ mpich-3.2.1/src/packaging/envmods/mpich.module.in 2018-04-04 14:14:16.553160669 +0200
|
||||
From 27c409c30875ea3ddb8e4bfc6add07c5a3c7780a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sun, 10 Apr 2022 09: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 @@
|
||||
# MPICH module for use with 'environment-modules' package:
|
||||
#
|
||||
@ -16,8 +27,8 @@
|
||||
+setenv MPI_INCLUDE @includedir@
|
||||
+setenv MPI_LIB @libdir@
|
||||
+setenv MPI_MAN @mandir@
|
||||
+setenv MPI_PYTHON_SITEARCH @py3sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON2_SITEARCH @py3sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON_SITEARCH @py2sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON2_SITEARCH @py2sitearch@/@MPINAME@
|
||||
+setenv MPI_PYTHON3_SITEARCH @py3sitearch@/@MPINAME@
|
||||
+setenv MPI_COMPILER @MPINAME@-@ARCH@
|
||||
+setenv MPI_SUFFIX _@MPINAME@
|
||||
@ -31,3 +42,4 @@
|
||||
+prepend-path LD_LIBRARY_PATH @libdir@
|
||||
+prepend-path MANPATH :@mandir@
|
||||
+prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
|
||||
+prepend-path CMAKE_PREFIX_PATH @LIBDIR@
|
@ -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
|
||||
|
443
SPECS/mpich.spec
443
SPECS/mpich.spec
@ -1,443 +0,0 @@
|
||||
%global source_date_epoch_from_changelog 1
|
||||
|
||||
Summary: A high-performance implementation of MPI
|
||||
Name: mpich
|
||||
Version: 4.1.1
|
||||
Release: 1%{?dist}
|
||||
License: MIT
|
||||
URL: https://www.mpich.org/
|
||||
|
||||
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: mpich.macros
|
||||
Source2: mpich.pth.py3
|
||||
Patch0: mpich-modules.patch
|
||||
Patch1: 0001-Drop-real128.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: hwloc-devel >= 2.2.0
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
# For ./maint/extractcvars
|
||||
BuildRequires: perl(lib)
|
||||
%ifnarch s390 %{mips}
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
# For %%{python3_sitearch}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: rpm-mpi-hooks
|
||||
Provides: mpi
|
||||
Requires: environment(modules)
|
||||
|
||||
# Make sure this package is rebuilt with correct Python version when updating
|
||||
# Otherwise mpi.req from rpm-mpi-hooks doesn't work
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1705296
|
||||
Requires: (python(abi) = %{python3_version} if python3)
|
||||
|
||||
%description
|
||||
MPICH is a high-performance and widely portable implementation of the Message
|
||||
Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). The goals of MPICH
|
||||
are: (1) to provide an MPI implementation that efficiently supports different
|
||||
computation and communication platforms including commodity clusters (desktop
|
||||
systems, shared-memory systems, multicore architectures), high-speed networks
|
||||
(10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics) and proprietary high-end
|
||||
computing systems (Blue Gene, Cray) and (2) to enable cutting-edge research in
|
||||
MPI through an easy-to-extend modular framework for other derived
|
||||
implementations.
|
||||
|
||||
The mpich binaries in this RPM packages were configured to use the default
|
||||
process manager (Hydra) using the default device (ch3). The ch3 device
|
||||
was configured with support for the nemesis channel that allows for
|
||||
shared-memory and TCP/IP sockets based communication.
|
||||
|
||||
This build also include support for using the 'module environment' to select
|
||||
which MPI implementation to use when multiple implementations are installed.
|
||||
If you want MPICH support to be automatically loaded, you need to install the
|
||||
mpich-autoload package.
|
||||
|
||||
%package autoload
|
||||
Summary: Load mpich automatically into profile
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description autoload
|
||||
This package contains profile files that make mpich automatically loaded.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for mpich
|
||||
Provides: %{name}-devel-static = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: gcc-gfortran
|
||||
Requires: rpm-mpi-hooks
|
||||
Requires: redhat-rpm-config
|
||||
|
||||
%description devel
|
||||
Contains development headers and libraries for mpich
|
||||
|
||||
%package doc
|
||||
Summary: Documentations and examples for mpich
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
|
||||
%description doc
|
||||
Contains documentations, examples and man-pages for mpich
|
||||
|
||||
%package -n python3-mpich
|
||||
Summary: mpich support for Python 3
|
||||
Provides: python-mpich
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: python(abi) = %{python3_version}
|
||||
|
||||
%description -n python3-mpich
|
||||
mpich support for Python 3.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch0 -p1
|
||||
|
||||
%ifarch %{arm}
|
||||
%patch1 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
|
||||
CONFIGURE_OPTS=(
|
||||
--enable-sharedlibs=gcc
|
||||
--enable-shared
|
||||
--enable-static=no
|
||||
--enable-lib-depend
|
||||
--disable-rpath
|
||||
--disable-silent-rules
|
||||
--enable-fortran
|
||||
--with-gnu-ld
|
||||
--with-device=ch3:nemesis
|
||||
--with-pm=hydra:gforker
|
||||
--includedir=%{_includedir}/%{name}-%{_arch}
|
||||
--bindir=%{_libdir}/%{name}/bin
|
||||
--libdir=%{_libdir}/%{name}/lib
|
||||
--datadir=%{_datadir}/%{name}
|
||||
--mandir=%{_mandir}/%{name}-%{_arch}
|
||||
--docdir=%{_datadir}/%{name}/doc
|
||||
--htmldir=%{_datadir}/%{name}/doc
|
||||
--with-hwloc-prefix=system
|
||||
)
|
||||
|
||||
%configure "${CONFIGURE_OPTS[@]}"
|
||||
|
||||
# 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
|
||||
|
||||
# work-around libtool error: cannot determine absolute directory name of 'system/lib'
|
||||
mkdir -p system/lib
|
||||
|
||||
%make_build VERBOSE=1
|
||||
|
||||
%install
|
||||
%make_install
|
||||
|
||||
mkdir -p %{buildroot}%{_fmoddir}/%{name}
|
||||
mv %{buildroot}%{_includedir}/%{name}-*/*.mod %{buildroot}%{_fmoddir}/%{name}/
|
||||
sed -r -i 's|^modincdir=.*|modincdir=%{_fmoddir}/%{name}|' %{buildroot}%{_libdir}/%{name}/bin/mpifort
|
||||
|
||||
# Install the module file
|
||||
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
|
||||
sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|;
|
||||
s|@LIBDIR@|%{_libdir}/%{name}|;
|
||||
s|@MPINAME@|%{name}|;
|
||||
s|@py3sitearch@|%{python3_sitearch}|;
|
||||
s|@ARCH@|%{_arch}|;
|
||||
s|@fortranmoddir@|%{_fmoddir}|;
|
||||
' \
|
||||
<src/packaging/envmods/mpich.module \
|
||||
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name}-%{_arch}
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh <<EOF
|
||||
# Load mpich environment module
|
||||
module load mpi/%{name}-%{_arch}
|
||||
EOF
|
||||
cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
|
||||
|
||||
# Install the RPM macros
|
||||
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
|
||||
# Install the .pth files
|
||||
mkdir -p %{buildroot}%{python3_sitearch}/%{name}
|
||||
install -pDm0644 %{SOURCE2} %{buildroot}%{python3_sitearch}/%{name}.pth
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
%check
|
||||
make check VERBOSE=1 \
|
||||
%ifarch ppc64le
|
||||
|| :
|
||||
%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
|
||||
# think it's worth the time to solve it here.
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYRIGHT
|
||||
%doc CHANGES README README.envvar RELEASE_NOTES
|
||||
%dir %{_libdir}/%{name}
|
||||
%dir %{_libdir}/%{name}/lib
|
||||
%dir %{_libdir}/%{name}/bin
|
||||
%{_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/
|
||||
|
||||
%files autoload
|
||||
%{_sysconfdir}/profile.d/mpich-%{_arch}.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/%{name}-%{_arch}/
|
||||
%{_libdir}/%{name}/lib/pkgconfig/
|
||||
%{_libdir}/%{name}/lib/*.so
|
||||
%{_libdir}/%{name}/bin/mpicc
|
||||
%{_libdir}/%{name}/bin/mpic++
|
||||
%{_libdir}/%{name}/bin/mpicxx
|
||||
%{_libdir}/%{name}/bin/mpif77
|
||||
%{_libdir}/%{name}/bin/mpif90
|
||||
%{_libdir}/%{name}/bin/mpifort
|
||||
%{_fmoddir}/%{name}/
|
||||
%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
%{_mandir}/%{name}-%{_arch}/man3/
|
||||
|
||||
%files doc
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/doc/
|
||||
|
||||
%files -n python3-mpich
|
||||
%dir %{python3_sitearch}/%{name}
|
||||
%{python3_sitearch}/%{name}.pth
|
||||
|
||||
%changelog
|
||||
* Sat Jun 03 2023 Kamal Heib <kheib@redhat.com> - 4.1.1-1
|
||||
- Update to upstream release 4.1.1
|
||||
- Resolves: rhbz#2212011
|
||||
|
||||
* Thu Apr 06 2023 Kyle Walker <kwalker@redhat.com> - 3.4.2-2
|
||||
- Enable source_date_epoch_from_changelog
|
||||
- Related: rhbz#1972098
|
||||
|
||||
* Thu Dec 09 2021 Honggang Li <honli@redhat.com> - 3.4.2-1
|
||||
- Update to latest upstream release 3.4.2
|
||||
- Resolves: rhbz#2008515
|
||||
|
||||
* Thu May 27 2021 Honggang Li <honli@redhat.com> - 3.4.1-1
|
||||
- Sync with Fedora build
|
||||
- Update to latest upstream release 3.4.1
|
||||
- Resolves: rhbz#1960076
|
||||
|
||||
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-9
|
||||
- Fix a dependency typo
|
||||
- Related: rhbz#1850080
|
||||
|
||||
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-8
|
||||
- Sync with Fedora build
|
||||
- Update to latest upstream release 3.3.2
|
||||
- Resolves: rhbz#1657316, rhbz#1732982, rhbz#1850080
|
||||
|
||||
* Fri Sep 21 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-9
|
||||
- Use proper distro compile flags throughout build
|
||||
- Related: rhbz#1624144
|
||||
|
||||
* Thu Sep 13 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-8
|
||||
- Remove python2 bits entirely, fix mpi lib dependencies
|
||||
- Remove obsolete Provides/Obsoletes for mpich2
|
||||
- Resolves: rhbz#1628628
|
||||
|
||||
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 3.2.1-7
|
||||
- Honor %%{valgrind_arches}
|
||||
|
||||
* Thu May 17 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.2.1-6
|
||||
- Do not build the python2 subpackage on EL > 7
|
||||
|
||||
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
|
||||
- Update MANPATH so that normal man pages can still be found (#1533717)
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Feb 01 2018 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-3
|
||||
- Rebuilt for GCC-8.0.1.
|
||||
|
||||
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-2
|
||||
- Update $modincdir in mpifort after moving .mod files (#1301533)
|
||||
- Move compiler wrappers to mpich-devel (#1353621)
|
||||
- Remove bogus rpath (#1361586)
|
||||
|
||||
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-1
|
||||
- Update to latest bugfix release (#1512188)
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-7
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Wed Nov 2 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-7
|
||||
- Split python support into sub-packages
|
||||
|
||||
* Wed Mar 30 2016 Michal Toman <mtoman@fedoraproject.org> - 3.2-6
|
||||
- Fix build on MIPS
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-4
|
||||
- Add patch to allow -host localhost to work on builders
|
||||
|
||||
* Wed Jan 20 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-3
|
||||
- Use nemesis channel on all platforms
|
||||
|
||||
* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-2
|
||||
- Soften version check (#1289779)
|
||||
|
||||
* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-1
|
||||
- Update to latest version
|
||||
|
||||
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-9
|
||||
- Update requires and fix MPI_FORTRAN_MOD_DIR var
|
||||
|
||||
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-8
|
||||
- Move fortran .mod files to %%{_fmoddir}/mpich (#1154991)
|
||||
- Move man pages to arch-specific dir (#1264359)
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-6
|
||||
- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563)
|
||||
- Cleanups to the spec file
|
||||
|
||||
* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 3.1.4-5
|
||||
- Require, BuildRequire: rpm-mpi-hooks
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-3
|
||||
- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728)
|
||||
|
||||
* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-2
|
||||
- Set PKG_CONFIG_DIR (bug #1113627)
|
||||
- Fix modulefile names and python paths (bug#1201343)
|
||||
|
||||
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-1
|
||||
- Update to 3.1.4
|
||||
- Own and set PKG_CONFIG_DIR (bug #1113627)
|
||||
- Do not ship old modulefile location (bug #921534)
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Feb 21 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.1-2
|
||||
- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config.
|
||||
|
||||
* Fri Feb 21 2014 Deji Akingunola <dakingun@gmail.com> - 3.1-1
|
||||
- Update to 3.1
|
||||
|
||||
* Mon Jan 6 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-7
|
||||
- Set the aarch64 compiler options
|
||||
|
||||
* Fri Dec 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-6
|
||||
- Now have valgrind on ARMv7
|
||||
- No valgrind on aarch64
|
||||
|
||||
* Fri Aug 23 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.4-5
|
||||
- Add %%check
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-3
|
||||
- Add proper Provides and Obsoletes for the sub-packages
|
||||
|
||||
* Thu Jul 18 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-2
|
||||
- Fix some of the rpmlint warnings from package review (BZ #973493)
|
||||
|
||||
* Wed Jun 12 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-1
|
||||
- Update to 3.0.4
|
||||
|
||||
* Thu Feb 21 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.2-1
|
||||
- Update to 3.0.2
|
||||
- Rename to mpich.
|
||||
- Drop check for old alternatives' installation
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> - 1.5-1
|
||||
- Update to 1.5
|
||||
- Drop destdir-fix and mpicxx-und patches
|
||||
- Update rpm macros to use the new module location
|
||||
|
||||
* Wed Oct 31 2012 Orion Poplawski <orion@cora.nwra.com> - 1.4.1p1-9
|
||||
- Install module file in mpi subdirectory and conflict with other mpi modules
|
||||
- Leave existing module file location for backwards compatibility for a while
|
||||
|
||||
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-7
|
||||
- Rebuild for new hwloc
|
||||
|
||||
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-6
|
||||
- Update ARM build configuration
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Jan 2 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-4
|
||||
- Bump spec.
|
||||
|
||||
* Wed Nov 16 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-3
|
||||
- Comply to MPI guidelines by separating autoloading into separate package
|
||||
(BZ #647147).
|
||||
|
||||
* Tue Oct 18 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-2
|
||||
- Rebuild for hwloc soname bump.
|
||||
|
||||
* Sun Sep 11 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-1
|
||||
- Update to 1.4.1p1 patch update
|
||||
- Add enable-lib-depend to configure flags
|
||||
|
||||
* Sat Aug 27 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1-1
|
||||
- Update to 1.4.1 final
|
||||
- Drop the mpd subpackage, the PM is no longer supported upstream
|
||||
- Fix undefined symbols in libmpichcxx (again) (#732926)
|
||||
|
||||
* Wed Aug 03 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4-2
|
||||
- Respect environment module guidelines wrt placement of module file.
|
||||
|
||||
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
|
||||
- Update to 1.4 final
|
257
changelog
Normal file
257
changelog
Normal file
@ -0,0 +1,257 @@
|
||||
* 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
|
||||
- Update to latest version (#1912981)
|
||||
|
||||
* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.4-1
|
||||
- Update to latest version (#1912981)
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-8
|
||||
- Do not require non-loopback addresses in mpirun (#1839007)
|
||||
|
||||
* Thu Aug 06 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-7
|
||||
- Drop build flag from mpi wrappers
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 3.3.2-5
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Fri Feb 14 2020 Christoph Junghans <junghans@votca.org> - 3.3.2-4
|
||||
- Add 4320.patch to fix #1793563 and #1799473
|
||||
|
||||
* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-3
|
||||
- Add requirement for redhat-rpm-config (#1795674)
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
|
||||
- Subpackage python2-mpich has been removed (#1773126)
|
||||
|
||||
* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.2-1
|
||||
- Update to latest version (#1772152). This is a bugfix release:
|
||||
https://github.com/pmodels/mpich/blob/v3.3.2/CHANGES.
|
||||
|
||||
* Wed Aug 28 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.1-1
|
||||
- Really upgrade to 3.3.1 (#1745252)
|
||||
|
||||
* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-1
|
||||
- "Upgrade" back to 3.2.1 (#1745252)
|
||||
(I made a typo, and instead of *upgrading* to 3.3.1, I made a downgrade
|
||||
to 3.1.1. Too bad that we don't have *any* automatic check that would
|
||||
warn about this in Fedora. Version 3.3.1 requires a newer hwloc, but
|
||||
some of the dependencies are not ready to switch. So let's "upgrade"
|
||||
back to 3.2.1, and plan to 3.3.1 next week.)
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.1.1-2
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.1-1
|
||||
- Update to latest version (#1718376)
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-12
|
||||
- Require main package and appropriate python version from python subpackages
|
||||
|
||||
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-11
|
||||
- Add a guard for python3 version (#1705296)
|
||||
- Module files are moved to /usr/share/modulefiles/mpi/
|
||||
|
||||
* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-10
|
||||
- Drop all custom compilation and link flags (#1573088)
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-7
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-6
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
|
||||
- Update MANPATH so that normal man pages can still be found (#1533717)
|
||||
|
||||
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Feb 01 2018 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-3
|
||||
- Rebuilt for GCC-8.0.1.
|
||||
|
||||
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-2
|
||||
- Update $modincdir in mpifort after moving .mod files (#1301533)
|
||||
- Move compiler wrappers to mpich-devel (#1353621)
|
||||
- Remove bogus rpath (#1361586)
|
||||
|
||||
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-1
|
||||
- Update to latest bugfix release (#1512188)
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-7
|
||||
- Rebuild for Python 3.6
|
||||
|
||||
* Wed Nov 2 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-7
|
||||
- Split python support into sub-packages
|
||||
|
||||
* Wed Mar 30 2016 Michal Toman <mtoman@fedoraproject.org> - 3.2-6
|
||||
- Fix build on MIPS
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-4
|
||||
- Add patch to allow -host localhost to work on builders
|
||||
|
||||
* Wed Jan 20 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-3
|
||||
- Use nemesis channel on all platforms
|
||||
|
||||
* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-2
|
||||
- Soften version check (#1289779)
|
||||
|
||||
* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-1
|
||||
- Update to latest version
|
||||
|
||||
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-9
|
||||
- Update requires and fix MPI_FORTRAN_MOD_DIR var
|
||||
|
||||
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-8
|
||||
- Move fortran .mod files to %%{_fmoddir}/mpich (#1154991)
|
||||
- Move man pages to arch-specific dir (#1264359)
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-6
|
||||
- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563)
|
||||
- Cleanups to the spec file
|
||||
|
||||
* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 3.1.4-5
|
||||
- Require, BuildRequire: rpm-mpi-hooks
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-3
|
||||
- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728)
|
||||
|
||||
* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-2
|
||||
- Set PKG_CONFIG_DIR (bug #1113627)
|
||||
- Fix modulefile names and python paths (bug#1201343)
|
||||
|
||||
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-1
|
||||
- Update to 3.1.4
|
||||
- Own and set PKG_CONFIG_DIR (bug #1113627)
|
||||
- Do not ship old modulefile location (bug #921534)
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Fri Feb 21 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.1-2
|
||||
- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config.
|
||||
|
||||
* Fri Feb 21 2014 Deji Akingunola <dakingun@gmail.com> - 3.1-1
|
||||
- Update to 3.1
|
||||
|
||||
* Mon Jan 6 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-7
|
||||
- Set the aarch64 compiler options
|
||||
|
||||
* Fri Dec 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-6
|
||||
- Now have valgrind on ARMv7
|
||||
- No valgrind on aarch64
|
||||
|
||||
* Fri Aug 23 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.4-5
|
||||
- Add %%check
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-3
|
||||
- Add proper Provides and Obsoletes for the sub-packages
|
||||
|
||||
* Thu Jul 18 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-2
|
||||
- Fix some of the rpmlint warnings from package review (BZ #973493)
|
||||
|
||||
* Wed Jun 12 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-1
|
||||
- Update to 3.0.4
|
||||
|
||||
* Thu Feb 21 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.2-1
|
||||
- Update to 3.0.2
|
||||
- Rename to mpich.
|
||||
- Drop check for old alternatives' installation
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> - 1.5-1
|
||||
- Update to 1.5
|
||||
- Drop destdir-fix and mpicxx-und patches
|
||||
- Update rpm macros to use the new module location
|
||||
|
||||
* Wed Oct 31 2012 Orion Poplawski <orion@cora.nwra.com> - 1.4.1p1-9
|
||||
- Install module file in mpi subdirectory and conflict with other mpi modules
|
||||
- Leave existing module file location for backwards compatibility for a while
|
||||
|
||||
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-7
|
||||
- Rebuild for new hwloc
|
||||
|
||||
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-6
|
||||
- Update ARM build configuration
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Mon Jan 2 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-4
|
||||
- Bump spec.
|
||||
|
||||
* Wed Nov 16 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-3
|
||||
- Comply to MPI guidelines by separating autoloading into separate package
|
||||
(BZ #647147).
|
||||
|
||||
* Tue Oct 18 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-2
|
||||
- Rebuild for hwloc soname bump.
|
||||
|
||||
* Sun Sep 11 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-1
|
||||
- Update to 1.4.1p1 patch update
|
||||
- Add enable-lib-depend to configure flags
|
||||
|
||||
* Sat Aug 27 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1-1
|
||||
- Update to 1.4.1 final
|
||||
- Drop the mpd subpackage, the PM is no longer supported upstream
|
||||
- Fix undefined symbols in libmpichcxx (again) (#732926)
|
||||
|
||||
* Wed Aug 03 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4-2
|
||||
- Respect environment module guidelines wrt placement of module file.
|
||||
|
||||
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
|
||||
- Update to 1.4 final
|
103
esac-syntax-fix.diff
Normal file
103
esac-syntax-fix.diff
Normal file
@ -0,0 +1,103 @@
|
||||
--- 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)
|
124
mpich-aclocal_cc-implicit-int.patch
Normal file
124
mpich-aclocal_cc-implicit-int.patch
Normal file
@ -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() {
|
18
mpich-configure-max_align_t.patch
Normal file
18
mpich-configure-max_align_t.patch
Normal file
@ -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)])
|
17
mpich-json-configure-__thread.patch
Normal file
17
mpich-json-configure-__thread.patch
Normal file
@ -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],
|
279
mpich.spec
Normal file
279
mpich.spec
Normal file
@ -0,0 +1,279 @@
|
||||
Summary: A high-performance implementation of MPI
|
||||
Name: mpich
|
||||
Version: 4.2.2
|
||||
Release: %autorelease
|
||||
License: mpich2
|
||||
URL: https://www.mpich.org/
|
||||
|
||||
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
|
||||
Source1: mpich.macros
|
||||
Source3: mpich.pth.py3
|
||||
|
||||
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: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-gfortran
|
||||
BuildRequires: hwloc-devel >= 2.0
|
||||
%if ! (0%{?rhel} >= 10)
|
||||
%ifarch x86_64
|
||||
# BuildRequires: json-c-devel
|
||||
BuildRequires: libpsm2-devel
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: libfabric-devel
|
||||
BuildRequires: libnl3-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: numactl-devel
|
||||
%ifarch aarch64 ppc64le x86_64
|
||||
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}
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
# For %%{python3_sitearch}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: rpm-mpi-hooks
|
||||
Provides: mpi
|
||||
Provides: mpich2 = %{version}
|
||||
Obsoletes: mpich2 < 3.0
|
||||
Requires: environment(modules)
|
||||
|
||||
# Make sure this package is rebuilt with correct Python version when updating
|
||||
# Otherwise mpi.req from rpm-mpi-hooks doesn't work
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1705296
|
||||
Requires: (python(abi) = %{python3_version} if python3)
|
||||
|
||||
%description
|
||||
MPICH is a high-performance and widely portable implementation of the Message
|
||||
Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). The goals of MPICH
|
||||
are: (1) to provide an MPI implementation that efficiently supports different
|
||||
computation and communication platforms including commodity clusters (desktop
|
||||
systems, shared-memory systems, multicore architectures), high-speed networks
|
||||
(10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics) and proprietary high-end
|
||||
computing systems (Blue Gene, Cray) and (2) to enable cutting-edge research in
|
||||
MPI through an easy-to-extend modular framework for other derived
|
||||
implementations.
|
||||
|
||||
The mpich binaries in this RPM packages were configured to use the default
|
||||
process manager (Hydra) using the default device (ch3). The ch3 device
|
||||
was configured with support for the nemesis channel that allows for
|
||||
shared-memory and TCP/IP sockets based communication.
|
||||
|
||||
This build also include support for using the 'module environment' to select
|
||||
which MPI implementation to use when multiple implementations are installed.
|
||||
If you want MPICH support to be automatically loaded, you need to install the
|
||||
mpich-autoload package.
|
||||
|
||||
%package autoload
|
||||
Summary: Load mpich automatically into profile
|
||||
Requires: mpich = %{version}-%{release}
|
||||
Provides: mpich2-autoload = 3.0.1
|
||||
Obsoletes: mpich2-autoload < 3.0
|
||||
|
||||
%description autoload
|
||||
This package contains profile files that make mpich automatically loaded.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for mpich
|
||||
Provides: %{name}-devel-static = %{version}-%{release}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: gcc-gfortran
|
||||
Requires: rpm-mpi-hooks
|
||||
Requires: redhat-rpm-config
|
||||
Provides: mpich2-devel = 3.0.1
|
||||
Obsoletes: mpich2-devel < 3.0
|
||||
|
||||
%description devel
|
||||
Contains development headers and libraries for mpich
|
||||
|
||||
%package doc
|
||||
Summary: Documentations and examples for mpich
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
Provides: mpich2-doc = 3.0.1
|
||||
Obsoletes: mpich2-doc < 3.0
|
||||
|
||||
%description doc
|
||||
Contains documentations, examples and man-pages for mpich
|
||||
|
||||
%package -n python3-mpich
|
||||
Summary: mpich support for Python 3
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: python(abi) = %{python3_version}
|
||||
|
||||
%description -n python3-mpich
|
||||
mpich support for Python 3.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
|
||||
CONFIGURE_OPTS=(
|
||||
--with-custom-version-string=%{version}-%{release}
|
||||
--enable-sharedlibs=gcc
|
||||
--enable-shared
|
||||
--enable-static=no
|
||||
--enable-lib-depend
|
||||
--disable-rpath
|
||||
--disable-silent-rules
|
||||
--disable-dependency-tracking
|
||||
--with-gnu-ld
|
||||
--with-pm=hydra:gforker
|
||||
--includedir=%{_includedir}/%{name}-%{_arch}
|
||||
--bindir=%{_libdir}/%{name}/bin
|
||||
--libdir=%{_libdir}/%{name}/lib
|
||||
--datadir=%{_datadir}/%{name}
|
||||
--mandir=%{_mandir}/%{name}-%{_arch}
|
||||
--docdir=%{_datadir}/%{name}/doc
|
||||
--htmldir=%{_datadir}/%{name}/doc
|
||||
--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
|
||||
%configure "${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
|
||||
%make_install
|
||||
|
||||
mkdir -p %{buildroot}%{_fmoddir}/%{name}
|
||||
mv %{buildroot}%{_includedir}/%{name}-*/*.mod %{buildroot}%{_fmoddir}/%{name}/
|
||||
sed -r -i 's|^modincdir=.*|modincdir=%{_fmoddir}/%{name}|' %{buildroot}%{_libdir}/%{name}/bin/mpifort
|
||||
|
||||
# Install the module file
|
||||
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
|
||||
sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|;
|
||||
s|@LIBDIR@|%{_libdir}/%{name}|;
|
||||
s|@MPINAME@|%{name}|;
|
||||
s|@py2sitearch@|%{python2_sitearch}|;
|
||||
s|@py3sitearch@|%{python3_sitearch}|;
|
||||
s|@ARCH@|%{_arch}|;
|
||||
s|@fortranmoddir@|%{_fmoddir}|;
|
||||
' \
|
||||
<src/packaging/envmods/mpich.module \
|
||||
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name}-%{_arch}
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||
cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh <<EOF
|
||||
# Load mpich environment module
|
||||
module load mpi/%{name}-%{_arch}
|
||||
EOF
|
||||
cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
|
||||
|
||||
# Install the RPM macros
|
||||
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
|
||||
# Install the .pth files
|
||||
mkdir -p %{buildroot}%{python3_sitearch}/%{name}
|
||||
install -pDm0644 %{SOURCE3} %{buildroot}%{python3_sitearch}/%{name}.pth
|
||||
|
||||
# Create cmake directory
|
||||
mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/
|
||||
|
||||
# Create directories for MPICH application development files
|
||||
mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake
|
||||
mkdir -p %{buildroot}%{_libdir}/%{name}/include
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
%check
|
||||
make check VERBOSE=1 \
|
||||
%ifarch ppc64le
|
||||
|| :
|
||||
%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
|
||||
# think it's worth the time to solve it here.
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%license COPYRIGHT
|
||||
%doc CHANGES README README.envvar RELEASE_NOTES
|
||||
%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/
|
||||
|
||||
%files autoload
|
||||
%{_sysconfdir}/profile.d/mpich-%{_arch}.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/%{name}-%{_arch}/
|
||||
%{_libdir}/%{name}/lib/pkgconfig/
|
||||
%{_libdir}/%{name}/lib/cmake/
|
||||
%{_libdir}/%{name}/lib/*.so
|
||||
%{_libdir}/%{name}/bin/mpicc
|
||||
%{_libdir}/%{name}/bin/mpic++
|
||||
%{_libdir}/%{name}/bin/mpicxx
|
||||
%{_libdir}/%{name}/bin/mpif77
|
||||
%{_libdir}/%{name}/bin/mpif90
|
||||
%{_libdir}/%{name}/bin/mpifort
|
||||
%{_fmoddir}/%{name}/
|
||||
%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||
%{_mandir}/%{name}-%{_arch}/man3/
|
||||
|
||||
%files doc
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/doc/
|
||||
|
||||
%files -n python3-mpich
|
||||
%dir %{python3_sitearch}/%{name}
|
||||
%{python3_sitearch}/%{name}.pth
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
Loading…
Reference in New Issue
Block a user