diff --git a/.gitignore b/.gitignore index c1daaca..80e0efc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,15 +3,3 @@ /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.1.tar.gz -/mpich-4.2.2.tar.gz diff --git a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch b/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch deleted file mode 100644 index 2fbee32..0000000 --- a/0001-pkgconf-remove-optimization-and-link-flags-from-pkgc.patch +++ /dev/null @@ -1,44 +0,0 @@ -From cb3e5715326c43779b51e1cab1519282c50199c1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -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} diff --git a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch b/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch deleted file mode 100644 index 46e6c13..0000000 --- a/0002-pkgconf-also-drop-rpath-flags-from-pkgconf-file.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 03b024ee9346babc48a646b6ab98884ebdd49791 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -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 diff --git a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch b/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch deleted file mode 100644 index ad427f7..0000000 --- a/0003-Drop-build-flags-e.g.-specs.-and-lto-from-mpi-wrappe.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 695102787fde0b3adb3917b12b97f8c49f7f57a5 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Thu, 2 Mar 2023 17:50:52 -0700 -Subject: [PATCH 3/3] Drop build flags, e.g. -specs... and -lto from mpi - wrappers (mpicc and mpicxx) - -For discussion see: -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 - diff --git a/0003-soften-version-check.patch b/0003-soften-version-check.patch new file mode 100644 index 0000000..6d75cc6 --- /dev/null +++ b/0003-soften-version-check.patch @@ -0,0 +1,13 @@ +diff --git mpich-3.2/./src/binding/cxx/mpicxx.h.in~ mpich-3.2/./src/binding/cxx/mpicxx.h.in +index 375c081e0e..24f1d6c2cc 100644 +--- mpich-3.2/./src/binding/cxx/mpicxx.h.in~ ++++ mpich-3.2/./src/binding/cxx/mpicxx.h.in +@@ -17,7 +17,7 @@ + // between 3.2.3 and 3.4.3 (!!) Normally such changes + // should only occur at major releases (e.g., version 3 to 4) + #ifdef __GNUC__ +-# if __GNUC__ >= @GNUCXX_VERSION@ ++# if __GNUC__ >= @GNUCXX_VERSION@ && @GNUCXX_VERSION@ == 3 + # if __GNUC_MINOR__ > 2 && @GNUCXX_MINORVERSION@ == 2 + # error 'Please use the same version of GCC and g++ for compiling MPICH and user MPI programs' + # endif diff --git a/changelog b/changelog deleted file mode 100644 index bd656b5..0000000 --- a/changelog +++ /dev/null @@ -1,257 +0,0 @@ -* Thu Jul 22 2021 Fedora Release Engineering - 3.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 3.4.1-2 -- Rebuilt for Python 3.10 - -* Mon May 17 2021 Zbigniew Jędrzejewski-Szmek - 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 - 3.4.1-1 -- Update to latest version (#1912981) - -* Wed Jan 27 2021 Zbigniew Jędrzejewski-Szmek - 3.4-1 -- Update to latest version (#1912981) - -* Tue Jan 26 2021 Fedora Release Engineering - 3.3.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 15 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-8 -- Do not require non-loopback addresses in mpirun (#1839007) - -* Thu Aug 06 2020 Christoph Junghans - 3.3.2-7 -- Drop build flag from mpi wrappers - -* Tue Jul 28 2020 Fedora Release Engineering - 3.3.2-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon May 25 2020 Miro Hrončok - 3.3.2-5 -- Rebuilt for Python 3.9 - -* Fri Feb 14 2020 Christoph Junghans - 3.3.2-4 -- Add 4320.patch to fix #1793563 and #1799473 - -* Thu Jan 30 2020 Zbigniew Jędrzejewski-Szmek - 3.3.2-3 -- Add requirement for redhat-rpm-config (#1795674) - -* Wed Jan 29 2020 Fedora Release Engineering - 3.3.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 3.3.2-1 -- Subpackage python2-mpich has been removed (#1773126) - -* Sun Nov 17 2019 Zbigniew Jędrzejewski-Szmek - 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 - 3.3.1-1 -- Really upgrade to 3.3.1 (#1745252) - -* Sat Aug 24 2019 Zbigniew Jędrzejewski-Szmek - 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 - 3.1.1-2 -- Rebuilt for Python 3.8 - -* Tue Jul 30 2019 Zbigniew Jędrzejewski-Szmek - 3.1.1-1 -- Update to latest version (#1718376) - -* Thu Jul 25 2019 Fedora Release Engineering - 3.2.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed May 8 2019 Zbigniew Jędrzejewski-Szmek - 3.2.1-12 -- Require main package and appropriate python version from python subpackages - -* Tue May 7 2019 Zbigniew Jędrzejewski-Szmek - 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 - 3.2.1-10 -- Drop all custom compilation and link flags (#1573088) - -* Fri Feb 01 2019 Fedora Release Engineering - 3.2.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 3.2.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 3.2.1-7 -- Rebuilt for Python 3.7 - -* Tue Jun 19 2018 Miro Hrončok - 3.2.1-6 -- Rebuilt for Python 3.7 - -* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek - 3.2.1-5 -- Update MANPATH so that normal man pages can still be found (#1533717) - -* Thu Feb 08 2018 Fedora Release Engineering - 3.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Feb 01 2018 Ralf Corsépius - 3.2.1-3 -- Rebuilt for GCC-8.0.1. - -* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 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 - 3.2.1-1 -- Update to latest bugfix release (#1512188) - -* Thu Aug 03 2017 Fedora Release Engineering - 3.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 3.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 3.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 3.2-7 -- Rebuild for Python 3.6 - -* Wed Nov 2 2016 Orion Poplawski - 3.2-7 -- Split python support into sub-packages - -* Wed Mar 30 2016 Michal Toman - 3.2-6 -- Fix build on MIPS - -* Thu Feb 04 2016 Fedora Release Engineering - 3.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Fri Jan 22 2016 Orion Poplawski - 3.2-4 -- Add patch to allow -host localhost to work on builders - -* Wed Jan 20 2016 Orion Poplawski - 3.2-3 -- Use nemesis channel on all platforms - -* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek - 3.2-2 -- Soften version check (#1289779) - -* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek - 3.2-1 -- Update to latest version - -* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-9 -- Update requires and fix MPI_FORTRAN_MOD_DIR var - -* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 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 - 3.1.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 - -* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 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 - 3.1.4-5 -- Require, BuildRequire: rpm-mpi-hooks - -* Wed Jun 17 2015 Fedora Release Engineering - 3.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-3 -- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728) - -* Fri Mar 13 2015 Orion Poplawski - 3.1.4-2 -- Set PKG_CONFIG_DIR (bug #1113627) -- Fix modulefile names and python paths (bug#1201343) - -* Wed Mar 11 2015 Orion Poplawski - 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 - 3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Feb 21 2014 Ville Skyttä - 3.1-2 -- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config. - -* Fri Feb 21 2014 Deji Akingunola - 3.1-1 -- Update to 3.1 - -* Mon Jan 6 2014 Peter Robinson 3.0.4-7 -- Set the aarch64 compiler options - -* Fri Dec 13 2013 Peter Robinson 3.0.4-6 -- Now have valgrind on ARMv7 -- No valgrind on aarch64 - -* Fri Aug 23 2013 Orion Poplawski - 3.0.4-5 -- Add %%check - -* Sat Aug 03 2013 Fedora Release Engineering - 3.0.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Jul 20 2013 Deji Akingunola - 3.0.4-3 -- Add proper Provides and Obsoletes for the sub-packages - -* Thu Jul 18 2013 Deji Akingunola - 3.0.4-2 -- Fix some of the rpmlint warnings from package review (BZ #973493) - -* Wed Jun 12 2013 Deji Akingunola - 3.0.4-1 -- Update to 3.0.4 - -* Thu Feb 21 2013 Deji Akingunola - 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 - 1.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Thu Nov 1 2012 Orion Poplawski - 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 - 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 - 1.4.1p1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-7 -- Rebuild for new hwloc - -* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-6 -- Update ARM build configuration - -* Fri Jan 13 2012 Fedora Release Engineering - 1.4.1p1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Jan 2 2012 Jussi Lehtola - 1.4.1p1-4 -- Bump spec. - -* Wed Nov 16 2011 Jussi Lehtola - 1.4.1p1-3 -- Comply to MPI guidelines by separating autoloading into separate package - (BZ #647147). - -* Tue Oct 18 2011 Deji Akingunola - 1.4.1p1-2 -- Rebuild for hwloc soname bump. - -* Sun Sep 11 2011 Deji Akingunola - 1.4.1p1-1 -- Update to 1.4.1p1 patch update -- Add enable-lib-depend to configure flags - -* Sat Aug 27 2011 Deji Akingunola - 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 - 1.4-2 -- Respect environment module guidelines wrt placement of module file. - -* Fri Jun 17 2011 Deji Akingunola - 1.4-1 -- Update to 1.4 final diff --git a/esac-syntax-fix.diff b/esac-syntax-fix.diff deleted file mode 100644 index e863798..0000000 --- a/esac-syntax-fix.diff +++ /dev/null @@ -1,103 +0,0 @@ ---- mpich-3.4.1/src/mpl/configure.ac~ 2021-01-20 19:04:56.000000000 +0100 -+++ mpich-3.4.1/src/mpl/configure.ac 2021-05-17 09:45:20.178904241 +0200 -@@ -426,99 +426,7 @@ - - linux86_cycle|linux86_cycle_2) - --# The following AC_TRY_RUN statements are needed because x86_64 compilers --# usually know about rdtscp but the cpu may or may not actually implement the --# feature. This is not cross-compile safe, unfortunately. In the long run we --# should allow the user to override this with a configure flag. -- AC_CACHE_CHECK([that linux86 cycle counter is available], -- pac_cv_linux86_cycle, -- AC_TRY_RUN([ --int main() --{ -- /* rdtscp */ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("rdtscp; shl \$32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); -- return 0; --} -- ],pac_cv_linux86_cycle=rdtscp, -- AC_TRY_RUN([[ --int main() --{ -- /* cpuid 64 */ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); -- return 0; --} -- ]],pac_cv_linux86_cycle=cpuid_rdtsc64, -- AC_TRY_RUN([[[ --int main() --{ -- /* cpuid 32 */ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (*var_ptr) : : "ecx"); -- return 0; --} -- ]]],pac_cv_linux86_cycle=cpuid_rdtsc32, -- AC_TRY_RUN([[[[ --int main() --{ -- /* simple */ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("rdtsc" : "=A" (*var_ptr)); -- return 0; --} -- ]]]],pac_cv_linux86_cycle=rdtsc, -- pac_cv_linux86_cycle=no) -- ) -- ), --dnl The if-cross-compiling clause from the first AC_TRY_RUN. Hope that if the --dnl compiler knows about the instruction then it's supported by the target --dnl platform. -- AC_TRY_COMPILE(,[[ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("rdtscp; shl \$32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); -- ]],pac_cv_linux86_cycle=rdtscp, -- AC_TRY_COMPILE(,[[[ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("push %%rbx ; cpuid ; rdtsc ; pop %%rbx ; shl $32, %%rdx; or %%rdx, %%rax" : "=a" (*var_ptr) : : "ecx", "rdx"); -- ]]],pac_cv_linux86_cycle=cpuid_rdtsc64, -- AC_TRY_COMPILE(,[[[[ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("push %%ebx ; cpuid ; rdtsc ; pop %%ebx" : "=A" (*var_ptr) : : "ecx"); -- ]]]],pac_cv_linux86_cycle=cpuid_rdtsc32, -- AC_TRY_COMPILE(,[[[[[ -- long long var, *var_ptr=&var; -- __asm__ __volatile__("rdtsc" : "=A" (*var_ptr)); -- ]]]]],pac_cv_linux86_cycle=rdtsc, -- pac_cv_linux86_cycle=no) -- ) -- ) -- ) -- ) -- ) -- -- case "$pac_cv_linux86_cycle" in -- "rdtscp") -- AC_DEFINE(LINUX86_CYCLE_RDTSCP,1,[Define which x86 cycle counter to use]) -- ;; -- "cpuid_rdtsc64") -- AC_DEFINE(LINUX86_CYCLE_CPUID_RDTSC64,1,[Define which x86 cycle counter to use]) -- ;; -- "cpuid_rdtsc32") -- AC_DEFINE(LINUX86_CYCLE_CPUID_RDTSC32,1,[Define which x86 cycle counter to use]) -- ;; -- "rdtsc") -- AC_DEFINE(LINUX86_CYCLE_RDTSC,1,[Define which x86 cycle counter to use]) -- ;; -- *) -- cpu_gcc_x86_cycle=no -- ;; -- esac -- -- if test "$cpu_gcc_x86_cycle" = "no" ; then -- AC_MSG_ERROR([Linux86 cycle counter is not available on this system and or with the $CC compiler]) -- fi -- MPL_TIMER_TYPE="long long" -+ AC_MSG_ERROR([Linux86 cycle counter is not available]) - ;; - - gcc_ia64_cycle) diff --git a/mpich-aclocal_cc-implicit-int.patch b/mpich-aclocal_cc-implicit-int.patch deleted file mode 100644 index e093283..0000000 --- a/mpich-aclocal_cc-implicit-int.patch +++ /dev/null @@ -1,124 +0,0 @@ -aclocal_cc.m4: Remove use of implicit int from weak symbol checks - -Implicit int is no longer part of the C language since the 1999 -revision. - -Submitted upstream: - -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() { diff --git a/mpich-configure-max_align_t.patch b/mpich-configure-max_align_t.patch deleted file mode 100644 index bc20d05..0000000 --- a/mpich-configure-max_align_t.patch +++ /dev/null @@ -1,18 +0,0 @@ -Remove spurious argument to AC_CHECK_ALIGNOF, which caused this -configure test to fail. - -Submitted upstream: - -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 ]) -+AC_CHECK_ALIGNOF([max_align_t],[#include ]) - - 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)]) diff --git a/mpich-json-configure-__thread.patch b/mpich-json-configure-__thread.patch deleted file mode 100644 index 2959ae8..0000000 --- a/mpich-json-configure-__thread.patch +++ /dev/null @@ -1,17 +0,0 @@ -Do not call undeclared exit function in __thread support check - -Submitted upstream: - -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], diff --git a/0004-Make-mpich.module-useful.patch b/mpich-modules.patch similarity index 65% rename from 0004-Make-mpich.module-useful.patch rename to mpich-modules.patch index f18ef39..d8d4ab2 100644 --- a/0004-Make-mpich.module-useful.patch +++ b/mpich-modules.patch @@ -1,17 +1,6 @@ -From 27c409c30875ea3ddb8e4bfc6add07c5a3c7780a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -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,24 @@ +--- 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 +@@ -3,12 +3,23 @@ # MPICH module for use with 'environment-modules' package: # @@ -42,4 +31,3 @@ index 3d6b4fa623..b8283274ee 100644 +prepend-path LD_LIBRARY_PATH @libdir@ +prepend-path MANPATH :@mandir@ +prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig -+prepend-path CMAKE_PREFIX_PATH @LIBDIR@ diff --git a/mpich.pth.py2 b/mpich.pth.py2 new file mode 100644 index 0000000..a2dc353 --- /dev/null +++ b/mpich.pth.py2 @@ -0,0 +1 @@ +import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s)) diff --git a/mpich.spec b/mpich.spec index 173a671..fb34c2d 100644 --- a/mpich.spec +++ b/mpich.spec @@ -1,68 +1,32 @@ Summary: A high-performance implementation of MPI Name: mpich -Version: 4.2.2 -Release: %autorelease -License: mpich2 -URL: https://www.mpich.org/ +Version: 3.2.1 +Release: 3%{?dist} +License: MIT +URL: http://www.mpich.org/ -Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz +Source0: http://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz Source1: mpich.macros +Source2: mpich.pth.py2 Source3: mpich.pth.py3 +Patch0: mpich-modules.patch +Patch3: 0003-soften-version-check.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: 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 riscv64 -BuildRequires: ucx-devel -%endif -%if ! 0%{?rhel} -BuildRequires: yaksa-devel -%else -Provides: bundled(yaksa) = 0.2 -%endif -# For ./maint/extractcvars -BuildRequires: perl(lib) -%ifarch %{valgrind_arches} +BuildRequires: hwloc-devel >= 1.8 +%ifnarch s390 %{mips} BuildRequires: valgrind-devel %endif -# For %%{python3_sitearch} +# For python[23]_sitearch +BuildRequires: python2-devel BuildRequires: python3-devel BuildRequires: rpm-mpi-hooks +BuildRequires: automake 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 @@ -86,6 +50,7 @@ mpich-autoload package. %package autoload Summary: Load mpich automatically into profile +Group: System Environment/Base Requires: mpich = %{version}-%{release} Provides: mpich2-autoload = 3.0.1 Obsoletes: mpich2-autoload < 3.0 @@ -95,12 +60,12 @@ This package contains profile files that make mpich automatically loaded. %package devel Summary: Development files for mpich +Group: Development/Libraries 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 @@ -109,6 +74,7 @@ Contains development headers and libraries for mpich %package doc Summary: Documentations and examples for mpich +Group: Documentation BuildArch: noarch Requires: %{name}-devel = %{version}-%{release} Provides: mpich2-doc = 3.0.1 @@ -117,53 +83,89 @@ Obsoletes: mpich2-doc < 3.0 %description doc Contains documentations, examples and man-pages for mpich +%package -n python2-mpich +Summary: mpich support for Python 2 +Group: Development/Libraries + +%description -n python2-mpich +mpich support for Python 2. + %package -n python3-mpich Summary: mpich support for Python 3 -Requires: %{name} = %{version}-%{release} -Requires: python(abi) = %{python3_version} +Group: Development/Libraries %description -n python3-mpich mpich support for Python 3. +# We only compile with gcc, but other people may want other compilers. +# Set the compiler here. +%{!?opt_cc: %global opt_cc gcc} +%{!?opt_fc: %global opt_fc gfortran} +%{!?opt_f77: %global opt_f77 gfortran} +# Optional CFLAGS to use with the specific compiler...gcc doesn't need any, +# so uncomment and undefine to NOT use +%{!?opt_cc_cflags: %global opt_cc_cflags %{optflags}} +%{!?opt_fc_fflags: %global opt_fc_fflags %{optflags}} +#%%{!?opt_fc_fflags: %%global opt_fc_fflags %%{optflags} -I%%{_fmoddir}} +%{!?opt_f77_fflags: %global opt_f77_fflags %{optflags}} + +%ifarch s390 +%global m_option -m31 +%else +%global m_option -m%{__isa_bits} +%endif + +%ifarch %{arm} aarch64 %{mips} +%global m_option "" +%endif + +%global selected_channels ch3:nemesis + +%ifarch %{ix86} x86_64 s390 %{arm} aarch64 +%global XFLAGS -fPIC +%endif + %prep %autosetup -p1 %build -./autogen.sh +%configure \ + --enable-sharedlibs=gcc \ + --enable-shared \ + --enable-static=no \ + --enable-lib-depend \ + --disable-rpath \ + --disable-silent-rules \ + --enable-fc \ + --with-device=%{selected_channels} \ + --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 \ + FC=%{opt_fc} \ + F77=%{opt_f77} \ + CFLAGS="%{m_option} -O2 %{?XFLAGS}" \ + CXXFLAGS="%{m_option} -O2 %{?XFLAGS}" \ + FCFLAGS="%{m_option} -O2 %{?XFLAGS}" \ + FFLAGS="%{m_option} -O2 %{?XFLAGS}" \ + LDFLAGS='-Wl,-z,noexecstack' \ + MPICHLIB_CFLAGS="%{?opt_cc_cflags}" \ + MPICHLIB_CXXFLAGS="%{optflags}" \ + MPICHLIB_FCFLAGS="%{?opt_fc_fflags}" \ + MPICHLIB_FFLAGS="%{?opt_f77_fflags}" +# MPICHLIB_LDFLAGS='-Wl,-z,noexecstack' \ +# MPICH_MPICC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ +# MPICH_MPICXX_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ +# MPICH_MPIFC_FLAGS="%{m_option} -O2 %{?XFLAGS}" \ +# MPICH_MPIF77_FLAGS="%{m_option} -O2 %{?XFLAGS}" +# --with-openpa-prefix=embedded \ -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 riscv64 - --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" +# FCFLAGS="%{?opt_fc_fflags} -I%{_fmoddir}/%{name} %{?XFLAGS}" \ # Remove rpath sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -182,7 +184,7 @@ 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 +mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/mpi sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|; s|@LIBDIR@|%{_libdir}/%{name}|; s|@MPINAME@|%{name}|; @@ -192,7 +194,7 @@ sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|; s|@fortranmoddir@|%{_fmoddir}|; ' \ %{buildroot}%{_datadir}/modulefiles/mpi/%{name}-%{_arch} + >%{buildroot}%{_sysconfdir}/modulefiles/mpi/%{name}-%{_arch} mkdir -p %{buildroot}%{_sysconfdir}/profile.d cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh < - 3.2.1-3 +- Update MANPATH so that normal man pages can still be found (#1533717) + +* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek - 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 - 3.2.1-1 +- Update to latest bugfix release (#1512188) + +* Thu Aug 03 2017 Fedora Release Engineering - 3.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 3.2-7 +- Rebuild for Python 3.6 + +* Wed Nov 2 2016 Orion Poplawski - 3.2-7 +- Split python support into sub-packages + +* Wed Mar 30 2016 Michal Toman - 3.2-6 +- Fix build on MIPS + +* Thu Feb 04 2016 Fedora Release Engineering - 3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Orion Poplawski - 3.2-4 +- Add patch to allow -host localhost to work on builders + +* Wed Jan 20 2016 Orion Poplawski - 3.2-3 +- Use nemesis channel on all platforms + +* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek - 3.2-2 +- Soften version check (#1289779) + +* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek - 3.2-1 +- Update to latest version + +* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-9 +- Update requires and fix MPI_FORTRAN_MOD_DIR var + +* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek - 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 - 3.1.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek - 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 - 3.1.4-5 +- Require, BuildRequire: rpm-mpi-hooks + +* Wed Jun 17 2015 Fedora Release Engineering - 3.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek - 3.1.4-3 +- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728) + +* Fri Mar 13 2015 Orion Poplawski - 3.1.4-2 +- Set PKG_CONFIG_DIR (bug #1113627) +- Fix modulefile names and python paths (bug#1201343) + +* Wed Mar 11 2015 Orion Poplawski - 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 - 3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Feb 21 2014 Ville Skyttä - 3.1-2 +- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config. + +* Fri Feb 21 2014 Deji Akingunola - 3.1-1 +- Update to 3.1 + +* Mon Jan 6 2014 Peter Robinson 3.0.4-7 +- Set the aarch64 compiler options + +* Fri Dec 13 2013 Peter Robinson 3.0.4-6 +- Now have valgrind on ARMv7 +- No valgrind on aarch64 + +* Fri Aug 23 2013 Orion Poplawski - 3.0.4-5 +- Add %%check + +* Sat Aug 03 2013 Fedora Release Engineering - 3.0.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Jul 20 2013 Deji Akingunola - 3.0.4-3 +- Add proper Provides and Obsoletes for the sub-packages + +* Thu Jul 18 2013 Deji Akingunola - 3.0.4-2 +- Fix some of the rpmlint warnings from package review (BZ #973493) + +* Wed Jun 12 2013 Deji Akingunola - 3.0.4-1 +- Update to 3.0.4 + +* Thu Feb 21 2013 Deji Akingunola - 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 - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Nov 1 2012 Orion Poplawski - 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 - 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 - 1.4.1p1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-7 +- Rebuild for new hwloc + +* Wed Feb 15 2012 Peter Robinson - 1.4.1p1-6 +- Update ARM build configuration + +* Fri Jan 13 2012 Fedora Release Engineering - 1.4.1p1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Jan 2 2012 Jussi Lehtola - 1.4.1p1-4 +- Bump spec. + +* Wed Nov 16 2011 Jussi Lehtola - 1.4.1p1-3 +- Comply to MPI guidelines by separating autoloading into separate package + (BZ #647147). + +* Tue Oct 18 2011 Deji Akingunola - 1.4.1p1-2 +- Rebuild for hwloc soname bump. + +* Sun Sep 11 2011 Deji Akingunola - 1.4.1p1-1 +- Update to 1.4.1p1 patch update +- Add enable-lib-depend to configure flags + +* Sat Aug 27 2011 Deji Akingunola - 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 - 1.4-2 +- Respect environment module guidelines wrt placement of module file. + +* Fri Jun 17 2011 Deji Akingunola - 1.4-1 +- Update to 1.4 final diff --git a/sources b/sources index 09a5e12..ecf8934 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mpich-4.2.2.tar.gz) = 706b1f008a4da3bc44b9c8191e20031983eed7d82aadeac8cf4b2c7ffbe5c5ec88c047f7a826e3a0a7e076799e03cceec908853eec89f651de50301af619e757 +SHA512 (mpich-3.2.1.tar.gz) = 659a11cf02302f27eb1db77667dd4c7a4f8008b1d73f5f0f0f28ee6b5d9cca2130bac3d010a132136ba15a25a738ec9cbda67255133aeb42f0d82a2ded23d23d