Sync from SUSE:SLFO:Main mpich revision e509e86607d66e7347fc49e35f9070ed
This commit is contained in:
commit
216ea4711d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
7
_constraints
Normal file
7
_constraints
Normal file
@ -0,0 +1,7 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">10</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
10
_multibuild
Normal file
10
_multibuild
Normal file
@ -0,0 +1,10 @@
|
||||
<multibuild>
|
||||
<package>standard</package>
|
||||
<package>testsuite</package>
|
||||
<package>ofi</package>
|
||||
<package>ofi-testsuite</package>
|
||||
<package>gnu-hpc</package>
|
||||
<package>gnu-hpc-testsuite</package>
|
||||
<package>gnu-hpc-ofi</package>
|
||||
<package>gnu-hpc-ofi-testsuite</package>
|
||||
</multibuild>
|
@ -0,0 +1,27 @@
|
||||
commit d0a81cafec8aa4fa668417cb641626a7c3f61c10
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Thu Apr 1 10:11:45 2021 +0200
|
||||
|
||||
autoconf: pull dynamic and not static libs from pkg-config
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git confdb/aclocal_libs.m4 confdb/aclocal_libs.m4
|
||||
index 50d6a8b4cbce..9b769d0fc401 100644
|
||||
--- confdb/aclocal_libs.m4
|
||||
+++ confdb/aclocal_libs.m4
|
||||
@@ -108,12 +108,12 @@ dnl PAC_LIB_DEPS(library_name, library_pc_path)
|
||||
dnl library_pc_path is the path to the library pkg-config directory
|
||||
AC_DEFUN([PAC_LIB_DEPS],[
|
||||
if test "x$2" != "x"; then
|
||||
- ac_lib$1_deps=`pkg-config --static --libs $2/lib$1.pc 2>/dev/null`
|
||||
+ ac_lib$1_deps=`pkg-config --libs $2/lib$1.pc 2>/dev/null`
|
||||
# remove the library itself in case it is embedded
|
||||
ac_lib$1_deps=`echo $ac_lib$1_deps | sed 's/-l$1//'`
|
||||
else
|
||||
# use system default
|
||||
- ac_lib$1_deps=`pkg-config --static --libs lib$1 2>/dev/null`
|
||||
+ ac_lib$1_deps=`pkg-config --libs lib$1 2>/dev/null`
|
||||
fi
|
||||
])
|
||||
|
47
autogen-only-deal-with-json-yaksa-if-enabled.patch
Normal file
47
autogen-only-deal-with-json-yaksa-if-enabled.patch
Normal file
@ -0,0 +1,47 @@
|
||||
commit ad48f4b53fa70b2b995fe884a87307298b737a52
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Thu Apr 1 09:06:56 2021 +0200
|
||||
|
||||
autogen: only deal with json/yaksa if enabled
|
||||
|
||||
--without-(json|yaksa) is partially ignored as submodule is not
|
||||
checked but still configured
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git configure.ac configure.ac
|
||||
index e7a46106155a..5966d21ed4dc 100644
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -1070,14 +1070,23 @@ AC_SUBST([jsonsrcdir])
|
||||
jsonlib=""
|
||||
AC_SUBST([jsonlib])
|
||||
|
||||
-PAC_PUSH_ALL_FLAGS()
|
||||
-PAC_RESET_ALL_FLAGS()
|
||||
-PAC_CONFIG_SUBDIR_ARGS([modules/json-c],[--enable-embedded --disable-werror],[],[AC_MSG_ERROR(json-c configure failed)])
|
||||
-PAC_POP_ALL_FLAGS()
|
||||
-jsonsrcdir="${main_top_builddir}/modules/json-c"
|
||||
-jsonlib="${main_top_builddir}/modules/json-c/libjson-c.la"
|
||||
-PAC_APPEND_FLAG([-I${use_top_srcdir}/modules/json-c],[CPPFLAGS])
|
||||
-PAC_APPEND_FLAG([-I${main_top_builddir}/modules/json-c],[CPPFLAGS])
|
||||
+PAC_CHECK_HEADER_LIB([json-c/json.h], [json-c], [json_object_get], [have_json=yes], [have_json=no])
|
||||
+
|
||||
+if test "${have_json}" = "no" ; then
|
||||
+ AC_MSG_NOTICE([Using an embedded libjson-c])
|
||||
+ PAC_PUSH_ALL_FLAGS()
|
||||
+ PAC_RESET_ALL_FLAGS()
|
||||
+ PAC_CONFIG_SUBDIR_ARGS([modules/json-c],[--enable-embedded --disable-werror],[],[AC_MSG_ERROR(json-c configure failed)])
|
||||
+ PAC_POP_ALL_FLAGS()
|
||||
+ jsonsrcdir="${main_top_builddir}/modules/json-c"
|
||||
+ jsonlib="${main_top_builddir}/modules/json-c/libjson-c.la"
|
||||
+ PAC_APPEND_FLAG([-I${use_top_srcdir}/modules/json-c],[CPPFLAGS])
|
||||
+ PAC_APPEND_FLAG([-I${main_top_builddir}/modules/json-c],[CPPFLAGS])
|
||||
+else
|
||||
+ AC_MSG_NOTICE([Using an external libjson-c])
|
||||
+ PAC_APPEND_FLAG([-I/usr/include/json-c],[CPPFLAGS])
|
||||
+ PAC_APPEND_FLAG([-ljson-c],[WRAPPER_LIBS])
|
||||
+fi
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# HWLOC / NETLOC
|
20
macros.hpc-mpich
Normal file
20
macros.hpc-mpich
Normal file
@ -0,0 +1,20 @@
|
||||
#
|
||||
# mpich
|
||||
#
|
||||
|
||||
%hpc_mpich_init(V:) \
|
||||
%{-V: %define _mf_ver %{-V*}} \
|
||||
%{expand: %%global hpc_mpich_dep_version %%{?_mf_ver}} \
|
||||
%{expand: %%global hpc_mpich_dir mpich%{hpc_mpich_dep_version}} \
|
||||
%global hpc_mpich_pack_version %{hpc_mpich_dep_version} \
|
||||
%{expand: %%global _hpc_mpich_modules mpich}
|
||||
|
||||
# We may have to add a version here.
|
||||
%hpc_setup_mpich \
|
||||
module load mpich
|
||||
|
||||
%hpc_mpich_requires \
|
||||
Requires: mpich%{hpc_mpich_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc
|
||||
|
||||
%hpc_mpich_requires_devel \
|
||||
Requires: mpich%{hpc_mpich_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc-devel
|
BIN
mpich-4.0.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
mpich-4.0.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
597
mpich.changes
Normal file
597
mpich.changes
Normal file
@ -0,0 +1,597 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 25 08:20:20 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Revert use of internal PMIx and hwloc library
|
||||
- Using external libraries disables the build of all process managers
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 17 09:02:43 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Disable valgrind on ppc64 to fix build dependency issues.
|
||||
- Add _constraints to fix compilation running out of disk space.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 29 15:32:23 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to 4.0.2
|
||||
- Fix support for dynamic process functionality with PMI2 clients
|
||||
- Fix non-zero appnum bug in PMI2 server in Hydra
|
||||
- Fix MPI_Op support for types created with MPI_Type_create_f90_xxx
|
||||
- Fix Level Zero properties initialization in MPL.
|
||||
- Use standard names for CPU affinity functions with POSIX
|
||||
threads.
|
||||
- Add elemental to eq/neq operators in Fortran 2008 binding
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 6 12:53:04 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Switch to external hwloc, and PMIx
|
||||
- On 32b systems, use ofi instead of verbs flavor by default
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 7 12:50:38 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 4.0.1 (bsc#1194369)
|
||||
- All MPI-4 APIs have been implemented. Major MPI-4 features include MPI
|
||||
sessions, partitioned point-to-point communications, events in the MPI tool
|
||||
information interface, large-count functions, persistent collectives,
|
||||
MPI_Comm_idup_with_info, MPI_Isendrecv and MPI_Isendrecv_replace,
|
||||
MPI_Info_get_string, MPI_Comm_split_type with new split_type --
|
||||
MPI_COMM_TYPE_HW_GUIDED and MPI_COMM_TYPE_HW_UNGUIDED.
|
||||
- Add MPIX_Delete_error_{class,code,string}.
|
||||
- MPI_Info objects can be accessed before MPI_Init{_thread}.
|
||||
- Drop support for UCX version < 1.7.0.
|
||||
- Multi-NIC support in ch4:ofi.
|
||||
- Extend IPC to support non-contig datatypes.
|
||||
- Many bug fixes and code clean-ups.
|
||||
- Drop 0001-Drop-real128.patch as it was fixed upstream
|
||||
- Refresh autogen-only-deal-with-json-yaksa-if-enabled.patch
|
||||
against latest sources
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 12 12:30:33 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.4.3
|
||||
- Fix nemesis shm bug on systems with weak memory consistency
|
||||
- Fix progress issue in ch4:ucx finalize
|
||||
- Fix nonblocking collective issue during finalize
|
||||
- Fix predefined datatype handle leaks
|
||||
- Fix bug in topology-aware communicator creation
|
||||
- Fix Slurm nodelist parsing
|
||||
- Hydra help message improvements
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 19 15:19:35 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Move rpm macros to %_rpmmacrodir (bsc#1191385)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 24 06:34:32 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.4.2
|
||||
- Update embedded hwloc to version 2.4.1. Fixes a build issue on
|
||||
systems with OpenCL.
|
||||
- Fix additional bugs in GPU-aware nonblocking op collectives
|
||||
- Fix support for GNI provider in ch4:ofi netmod
|
||||
- Fix bug in dynamic window memory registration with ch4:ofi netmod
|
||||
- Fix bug in persistent pt2pt when used with MPI_PROC_NULL
|
||||
- Fix bug in hydra nameserver when freeing published entries
|
||||
- Fix bugs in XPMEM support
|
||||
- Fix bug in MPI_Comm_spawn_multiple where non-root args were not ignored
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 13 11:39:25 UTC 2021 - Christian Boltz <suse-beta@cboltz.de>
|
||||
|
||||
- don't own /usr/share/doc (owned by "filesystem") to avoid conflict on install
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 30 13:16:18 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.4.1
|
||||
- ch4 replaces ch3 as the default device configuration. If no network
|
||||
module is specified at configuration-time, MPICH will search the
|
||||
user environment in order to select one to build. The user will be
|
||||
prompted to choose if no preferred network library is dectected.
|
||||
- Add support for XPMEM.
|
||||
- Add support for multiple virtual communication interfaces for more
|
||||
efficient MPI_THREAD_MULTIPLE (experimental).
|
||||
- Add support for Arm compiler toolchain
|
||||
- Add support for flang/f18 Fortran compiler
|
||||
- See CHANGES for the complete list of CHANGES
|
||||
- Changed MPI interface in mpich package
|
||||
- 64bit archs use ch4:ucx
|
||||
- 32bit archs use ch3:nemesis (verbs)
|
||||
- Drop patches merged upstream:
|
||||
- ch3-fix-improper-error-handling-from-MPL_get_sockaddr.patch
|
||||
- opmi-fix-a-wrong-condition-checking-return-of-MPL_get_sockaddr.patch
|
||||
- Add patches to make sure built is used with the proper system libraries
|
||||
and not the embedded ones:
|
||||
- autogen-only-deal-with-json-yaksa-if-enabled.patch
|
||||
- autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch
|
||||
- Refresh 0001-Drop-real128.patch against latest sources
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 29 11:46:23 UTC 2020 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- HPC: Fix environment module settings for MANPATH.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 25 07:07:11 UTC 2020 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- For HPC builds check for gnu compiler suite version >= 10 and
|
||||
set -fallow-argument-mismatch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 23 16:06:00 UTC 2020 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Add build support for gcc8/9/10 to HPC build (bsc#1174439).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 9 19:35:09 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Fix compilation with GCC10 by adding -fallow-argument-mismatch to FFLAGS
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 14 07:22:58 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Add ch3-fix-improper-error-handling-from-MPL_get_sockaddr.patch and
|
||||
pmi-fix-a-wrong-condition-checking-return-of-MPL_get_sockaddr.patch to fix crash when
|
||||
using getsockaddr (bsc#1168092)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 28 13:21:55 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.3.2 (jsc#SLE-8574)
|
||||
- See CHANGES for a list of changes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 11:16:46 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.3.1 (jsc#SLE-8574)
|
||||
- See CHANGES for a list of changes
|
||||
- Drop 0001-Drop-GCC-check.patch as it was picked upstream
|
||||
- Add 0001-Drop-real128.patch to fix a compilation error on armv7
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 09:39:46 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Fix LTO support in archive file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 3 09:40:25 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to mpich 3.3
|
||||
- See CHANGES for a list of changes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 21 07:20:25 UTC 2019 - Ana Guerrero Lopez <aguerrero@suse.com>
|
||||
|
||||
- Add patch to remove obsolete GCC check (bnc#1129421). It also patches
|
||||
autogen.sh to get the autotools working in SLE12SP4.
|
||||
* 0001-Drop-GCC-check.patch
|
||||
- Force to re-run autotools to generate properly the files after
|
||||
patching src/binding/cxx/buildiface
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 18 14:20:30 UTC 2018 - eich@suse.com
|
||||
|
||||
- Add macro _hpc_mpich_modules for modules support (bsc#1116458).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 10 12:14:13 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Remove bashism in postun scriptlet
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 5 06:53:58 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix handling of mpi-selector during updates (bsc#1098653)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 19 09:20:19 UTC 2018 - eich@suse.com
|
||||
|
||||
- macros.hpc-mpich:
|
||||
replace %%compiler_family by %%hpc_compiler_family
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 22 11:14:28 UTC 2018 - eich@suse.com
|
||||
|
||||
- Remove 'BuildRequires: Modules' for HPC builds: it conflicts
|
||||
with lmod (boo#1089970).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 9 14:16:30 UTC 2018 - cgoll@suse.com
|
||||
|
||||
- Fix summary in module files (bnc#1080259)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 30 20:05:19 UTC 2018 - eich@suse.com
|
||||
|
||||
- Use macro in mpivars.(c)sh to be independent of changes to the module
|
||||
setup for the compiler (boo#1078364).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 19 08:39:00 UTC 2018 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Update to mpich 3.2.1
|
||||
- Bug fixes
|
||||
- No release notes available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 5 18:37:08 UTC 2018 - eich@suse.com
|
||||
|
||||
- Add gcc7 as additional compiler flavor for HPC on SLES.
|
||||
- Fix library package requires - use HPC macro (boo#1074890).
|
||||
- Fix mpich HPC installation path in spec file.
|
||||
- Fix hpc macros: add %mpich_requires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 26 09:21:56 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add HPC specific build targets using environment modules (Fate#323977).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 12 09:22:39 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Drop unnecessary dependency to xorg-x11-devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 13 14:59:53 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Add LD_LIBRARY_PATH to mpivars.sh and mpivars.csh
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 13 07:44:46 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Disable rpath in pkgconfig files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 5 12:42:06 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Register mpich package to mpi-selector
|
||||
- Remove redondant configure options already passed by %configure
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 3 08:38:32 UTC 2017 - nmoreychaisemartin@suse.com
|
||||
|
||||
- Fix compilation for aarch64
|
||||
- Build multiple flavour of mpich (psm, psm2, tessuite)
|
||||
- Update to mpich 3.2
|
||||
* see CHANGES file for all details, some pertinent changes are:
|
||||
- Added support for MPI-3.1 features including nonblocking collective I/O,
|
||||
address manipulation routines, thread-safety for MPI initialization,
|
||||
pre-init functionality, and new MPI_T routines to look up variables
|
||||
by name.
|
||||
- Fortran 2008 bindings are enabled by default and fully supported.
|
||||
- Completely revamped RMA infrastructure including several
|
||||
scalability improvements, performance improvements, and bug fixes.
|
||||
- Added experimental support for Open Fabrics Interfaces (OFI) version 1.0.0.
|
||||
https://github.com/ofiwg/libfabric (thanks to Intel for code contribution)
|
||||
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 8 10:10:48 UTC 2015 - kkhere.geo@gmail.com
|
||||
|
||||
- Update to 3.1.3
|
||||
* see CHANGES file for all details, some pertinent changes are:
|
||||
- [3.1.2] MPI-3 support for Blue Gene/Q and ppc64le support.
|
||||
- [3.1.2] Fixes and testcases for Fortran 2008 bindings.
|
||||
- [3.1.1] Removal of the mpd process manager.
|
||||
- [3.1] MPICH now supports operations on very large datatypes (those that
|
||||
describe more than 32 bits of data).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 4 11:28:21 UTC 2013 - mvyskocil@suse.com
|
||||
|
||||
- Update to 3.0.4
|
||||
* too many changes to list, see CHANGES file
|
||||
- Dropped pointless patches:
|
||||
* alog-bufferoverflow.patch
|
||||
* gcc4.dif
|
||||
* gfortran.patch
|
||||
* mpeinstall.patch
|
||||
* mpich-1.2.6.dif
|
||||
* mpich-1.2.6_implicit_declarations.diff
|
||||
* mpich-1.2.6-limits.patch
|
||||
* mpich-1.2.7_bsendutil2.c_uninitialized_variables.patch
|
||||
* mpich-1.2.7p1-iostream.dif
|
||||
* mpich-fix_headers.diff
|
||||
* mpich-hostent.patch
|
||||
* mpich-mpiman.patch
|
||||
- Add mpich-modules.patch (from Fedora)
|
||||
- Add package autoload installs mpich's profiles
|
||||
- Moved documentation to doc subpackage
|
||||
- Call make check during build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 5 07:57:10 UTC 2012 - cfarrell@suse.com
|
||||
|
||||
- license update: SUSE-Permissive
|
||||
Use a license from http://is.gd/CIdCM7 - if there is no corresponding
|
||||
entry on spdx.org/licenses use the proprietary SUSE- prefix until the
|
||||
license is accepted upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 23 15:16:23 UTC 2011 - jengelh@medozas.de
|
||||
|
||||
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 23 09:28:55 UTC 2011 - coolo@suse.com
|
||||
|
||||
- add libtool as buildrequire to avoid implicit dependency
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 24 02:07:18 CET 2010 - ro@suse.de
|
||||
|
||||
- compress manpages ourselves
|
||||
(Check is gone and brp-compress does not look under /opt)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 4 13:55:05 UTC 2010 - coolo@novell.com
|
||||
|
||||
- extend bufferoverflow patch to fix also clog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 22 11:31:31 UTC 2010 - coolo@novell.com
|
||||
|
||||
- use gnu extensions to fix implicit declarations
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 31 10:40:14 CEST 2009 - aj@suse.de
|
||||
|
||||
- Cleanup some rpmlint warnings in spec file.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 31 09:44:23 CEST 2009 - aj@suse.de
|
||||
|
||||
- Fix compilation with current glibc (mpich-hostent.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 29 21:08:01 CET 2008 - aj@suse.de
|
||||
|
||||
- Fix c++ compilation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 24 10:44:39 CEST 2007 - stbinner@suse.de
|
||||
|
||||
- add missing %run_ldconfig calls
|
||||
- use %fdupes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 31 15:18:32 CEST 2007 - aj@suse.de
|
||||
|
||||
- Remove unnneeded BuildRequires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 8 04:56:28 CET 2006 - mrueckert@suse.de
|
||||
|
||||
- move the man pages for the compilers into the devel package
|
||||
aswell (#132558)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 27 02:13:24 CET 2006 - mls@suse.de
|
||||
|
||||
- converted neededforbuild to BuildRequires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 24 15:02:44 CET 2006 - rguenther@suse.de
|
||||
|
||||
- make configury work with gfortran.
|
||||
- re-enable fortran support and update packaged files.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 16 19:29:36 CET 2006 - mrueckert@suse.de
|
||||
|
||||
- update to version 1.2.7p1
|
||||
- added mpich-1.2.7_bsendutil2.c_uninitialized_variables.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 21 01:43:45 CET 2005 - ro@suse.de
|
||||
|
||||
- addded library .so symlinks to filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 19 17:42:16 CEST 2005 - mrueckert@suse.de
|
||||
|
||||
- Fixed compiler warnings about implicit declarations.
|
||||
- fixed patches to apply cleanly against 1.2.7
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 19 14:57:42 CEST 2005 - mrueckert@suse.de
|
||||
|
||||
- mpiman now defaults to "man" instead of "xman"
|
||||
now it works without passing any parameter too.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 4 15:11:23 CEST 2005 - mrueckert@suse.de
|
||||
|
||||
- Updated to version 1.2.7
|
||||
- Added small patch against a buffer overflow in the log handler.
|
||||
- Compile with -fno-strict-aliasing
|
||||
- Use RPM_OPT_FLAGS
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 24 10:12:29 CEST 2005 - aj@suse.de
|
||||
|
||||
- Compile with GCC4, disable g77.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 16 01:41:04 CEST 2004 - nashif@suse.de
|
||||
|
||||
- Update to 1.2.6
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 10 11:21:25 CET 2004 - adrian@suse.de
|
||||
|
||||
- build as user
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 5 06:31:23 CET 2004 - nashif@suse.de
|
||||
|
||||
- update to 1.5.2.2
|
||||
- fixed bug #33381: unnecessary s bit on mpdcon
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 13 11:20:31 CEST 2003 - kukuk@suse.de
|
||||
|
||||
- Add missing directories to filelist
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 29 01:23:37 CEST 2003 - nashif@suse.de
|
||||
|
||||
- Compile ch_p4mpd in addition to default ch_p4
|
||||
- Reworked file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 9 00:09:43 CET 2003 - nashif@suse.de
|
||||
|
||||
- Update to 1.2.5
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 20 14:47:22 CET 2002 - ro@suse.de
|
||||
|
||||
- use java2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 4 19:34:17 CEST 2002 - nashif@suse.de
|
||||
|
||||
- Update to 1.2.4
|
||||
- Move to /opt to avoid path problems with lib64
|
||||
- re-added module file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 24 00:40:41 CEST 2002 - ro@suse.de
|
||||
|
||||
- fix permissions for doc directories
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 18 14:43:00 MEST 2002 - mls@suse.de
|
||||
|
||||
- delete bogus config.* files in examples directory
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 16 17:24:07 CEST 2002 - meissner@suse.de
|
||||
|
||||
- Another fix for lib64 (or we include %buildroot paths in mpicc)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 14 00:20:10 CEST 2002 - ro@suse.de
|
||||
|
||||
- fix for lib64
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 9 20:51:46 CET 2002 - nashif@suse.de
|
||||
|
||||
- -doc provides and obsoletes -manpages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 7 05:46:52 PST 2002 - nashif@suse.de
|
||||
|
||||
- Use RPM_BUILD_ROOT variable instead of actual value
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 2 18:59:54 CET 2002 - nashif@suse.de
|
||||
|
||||
- Removed rpm_build_root references from scripts
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 1 17:47:34 CET 2002 - nashif@suse.de
|
||||
|
||||
- Update to version 1.2.3
|
||||
- splitted package to devel and doc
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 12 16:16:28 CEST 2001 - nashif@suse.de
|
||||
|
||||
- Applied cummulative patches upto bug #5906
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 7 22:32:31 CET 2001 - nashif@suse.de
|
||||
|
||||
- Fixed order of patches in spec file
|
||||
- Fixed script in spec to link binaries in /usr/bin
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 22:02:15 MET 2001 - nashif@suse.de
|
||||
|
||||
- Update with latest patches (patch.all)
|
||||
- removed all mpi* from /usr/bin (Conflicts with other MPIs)
|
||||
- Added mpich module configuration file for (module load mpich), which
|
||||
requires environment-modules package.
|
||||
- Fixed shared lib path in mpif77,90
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 11:04:31 CET 2001 - schwab@suse.de
|
||||
|
||||
- Build with --enable-sharedlib to get something that can be linked
|
||||
into a shared library.
|
||||
- Add %suse_update_config.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 17 20:32:16 CET 2001 - nashif@suse.de
|
||||
|
||||
- Fixed va_arg arguments
|
||||
- Update to latest patchlevel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 17 18:09:04 MET 2000 - nashif@suse.de
|
||||
|
||||
- Added mpe support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 16 05:34:21 MET 2000 - nashif@suse.de
|
||||
|
||||
- Applied latest cummulative patch
|
||||
- Changed sub-package name: mpichman -> mpich-manpages
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 29 20:15:49 MET 2000 - nashif@suse.de
|
||||
|
||||
- Update to version 1.2.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 31 10:58:14 CEST 2000 - nadvornik@suse.cz
|
||||
|
||||
- removed directories owned by aaa_dir
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 25 02:25:03 CET 2000 - nashif@suse.de
|
||||
|
||||
- Applied patches 4992 and 4997
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 17 08:27:48 CET 2000 - nashif@suse.de
|
||||
|
||||
- Updated to 1.2.0
|
||||
- moved manpages to /usr/share
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 7 18:00:23 CET 1999 - nashif@suse.de
|
||||
|
||||
- Organised spec file
|
||||
- fixed spec file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 7 11:31:19 CEST 1999 - nashif@suse.de
|
||||
|
||||
- Minor link fixes and directory reloacation
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 30 17:33:44 CEST 1999 - nashif@suse.de
|
||||
|
||||
- Added mpichman: a new subpackage for the manual pages to avoid
|
||||
conflict with LAM
|
||||
- moved configuration files to /etc/mpich
|
||||
- Now it should work side by side with LAM
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 28 12:29:08 CEST 1999 - nashif@suse.de
|
||||
|
||||
- Removed MPE from package: using old tk
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 27 17:56:35 CEST 1999 - nashif@suse.de
|
||||
|
||||
- MPICH - Message Passing Interface Implementation 1.1.2
|
||||
|
631
mpich.spec
Normal file
631
mpich.spec
Normal file
@ -0,0 +1,631 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%nil
|
||||
|
||||
# Static libraries are disabled by default
|
||||
# for non HPC builds
|
||||
# To enable them, simply uncomment:
|
||||
# % define build_static_devel 1
|
||||
|
||||
%define pname mpich
|
||||
%define vers 4.0.2
|
||||
%define _vers 4_0_2
|
||||
|
||||
%if "%{flavor}" == ""
|
||||
ExclusiveArch: do_not_build
|
||||
%{bcond_with hpc}
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "standard"
|
||||
%define build_flavor ucx
|
||||
%{bcond_with hpc}
|
||||
%endif
|
||||
%if "%{flavor}" == "testsuite"
|
||||
%define build_flavor ucx
|
||||
%define testsuite 1
|
||||
%{bcond_with hpc}
|
||||
%endif
|
||||
|
||||
%if "%{flavor}" == "ofi"
|
||||
%define build_flavor ofi
|
||||
%{bcond_with hpc}
|
||||
%endif
|
||||
%if "%{flavor}" == "ofi-testsuite"
|
||||
%define build_flavor ofi
|
||||
%define testsuite 1
|
||||
%{bcond_with hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu-hpc"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define build_flavor ucx
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define testsuite 1
|
||||
%define build_flavor ucx
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu-hpc-ofi"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define build_flavor ofi
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu-hpc-ofi-testsuite"
|
||||
%define compiler_family gnu
|
||||
%undefine c_f_ver
|
||||
%define testsuite 1
|
||||
%define build_flavor ofi
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu7-hpc"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%define build_flavor ucx
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu7-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%define testsuite 1
|
||||
%define build_flavor ucx
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu7-hpc-ofi"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%define build_flavor ofi
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu7-hpc-ofi-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 7
|
||||
%define testsuite 1
|
||||
%define build_flavor ofi
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu8-hpc"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 8
|
||||
%define build_flavor ucx
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu8-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 8
|
||||
%define testsuite 1
|
||||
%define build_flavor ucx
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu8-hpc-ofi"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 8
|
||||
%define build_flavor ofi
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu8-hpc-ofi-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 8
|
||||
%define testsuite 1
|
||||
%define build_flavor ofi
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu9-hpc"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 9
|
||||
%define build_flavor ucx
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu9-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 9
|
||||
%define testsuite 1
|
||||
%define build_flavor ucx
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu9-hpc-ofi"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 9
|
||||
%define build_flavor ofi
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu9-hpc-ofi-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 9
|
||||
%define testsuite 1
|
||||
%define build_flavor ofi
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu10-hpc"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 10
|
||||
%define build_flavor ucx
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu10-hpc-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 10
|
||||
%define testsuite 1
|
||||
%define build_flavor ucx
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%flavor" == "gnu10-hpc-ofi"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 10
|
||||
%define build_flavor ofi
|
||||
%define build_static_devel 1
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
%if "%flavor" == "gnu10-hpc-ofi-testsuite"
|
||||
%define compiler_family gnu
|
||||
%define c_f_ver 10
|
||||
%define testsuite 1
|
||||
%define build_flavor ofi
|
||||
%{bcond_without hpc}
|
||||
%endif
|
||||
|
||||
%if "%{build_flavor}" != "ucx"
|
||||
%define pack_suff %{?build_flavor:-%{build_flavor}}
|
||||
%endif
|
||||
|
||||
%if "%{build_flavor}" == "ucx"
|
||||
%ifarch %ix86 %arm
|
||||
# UCX is not available on 32b system so silently fallback
|
||||
# on ch4:ofi
|
||||
%define build_flavor ofi
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if %{without hpc}
|
||||
%define module_name mpich%{?pack_suff}
|
||||
%define p_prefix /usr/%_lib/mpi/gcc/%{module_name}
|
||||
%define p_bindir %{p_prefix}/bin
|
||||
%define p_datadir %{p_prefix}/share
|
||||
%define p_includedir %{p_prefix}/include
|
||||
%define p_mandir %{p_datadir}/man
|
||||
%define p_libdir %{p_prefix}/%{_lib}
|
||||
%define p_libexecdir %{p_prefix}/%{_lib}
|
||||
%define _moduledir /usr/share/modules/gnu-%{module_name}
|
||||
%define package_name %{pname}%{?pack_suff}
|
||||
%else
|
||||
%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m mpich %{?pack_suff:-e %{build_flavor}} %{?mpi_f_ver:-V %{mpi_f_ver}}}
|
||||
%define p_prefix %{hpc_prefix}
|
||||
%define p_bindir %{hpc_bindir}
|
||||
%define p_datadir %{hpc_datadir}
|
||||
%define p_includedir %{hpc_includedir}
|
||||
%define p_mandir %{hpc_mandir}
|
||||
%define p_libdir %{hpc_libdir}
|
||||
%define p_libexecdir %{hpc_libexecdir}
|
||||
%define package_name %{pname}%{?pack_suff}_%{_vers}-%{compiler_family}%{?c_f_ver}-hpc
|
||||
|
||||
%global hpc_mpich_dep_version %(VER=%{?m_f_ver}; echo -n ${VER})
|
||||
%global hpc_mpich_dir mpich
|
||||
%global hpc_mpich_pack_version %{hpc_mpich_dep_version}
|
||||
%endif
|
||||
|
||||
Name: %{package_name}%{?testsuite:-testsuite}
|
||||
Version: %{vers}
|
||||
Release: 0
|
||||
Summary: High-performance and widely portable implementation of MPI
|
||||
License: MIT
|
||||
Group: Development/Libraries/Parallel
|
||||
URL: http://www.mpich.org/
|
||||
Source0: http://www.mpich.org/static/downloads/%{version}/mpich-%{vers}.tar.gz
|
||||
Source1: mpivars.sh
|
||||
Source2: mpivars.csh
|
||||
Source3: macros.hpc-mpich
|
||||
Source100: _multibuild
|
||||
Patch1: autogen-only-deal-with-json-yaksa-if-enabled.patch
|
||||
Patch2: autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libjson-c-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkg-config
|
||||
|
||||
%ifnarch s390 s390x %{arm} ppc64
|
||||
BuildRequires: valgrind-devel
|
||||
%endif
|
||||
%ifnarch s390 s390x armv7hl
|
||||
BuildRequires: libnuma-devel
|
||||
%endif
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libtool
|
||||
BuildRequires: mpi-selector
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: sysfsutils
|
||||
|
||||
%if "%{build_flavor}" == "ofi"
|
||||
BuildRequires: libfabric-devel
|
||||
%endif
|
||||
|
||||
%if "%{build_flavor}" == "ucx"
|
||||
BuildRequires: libucm-devel >= 1.7.0
|
||||
BuildRequires: libucp-devel >= 1.7.0
|
||||
BuildRequires: libucs-devel >= 1.7.0
|
||||
BuildRequires: libuct-devel >= 1.7.0
|
||||
# UCX is only available for 64b archs
|
||||
ExcludeArch: %ix86 %arm
|
||||
%endif
|
||||
|
||||
Provides: mpi
|
||||
%if %{without hpc}
|
||||
BuildRequires: Modules
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: mpi-selector
|
||||
Requires: mpi-selector
|
||||
Requires(preun):mpi-selector
|
||||
%else
|
||||
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||
BuildRequires: lua-lmod
|
||||
BuildRequires: suse-hpc
|
||||
%hpc_requires
|
||||
%endif
|
||||
|
||||
%if 0%{?testsuite}
|
||||
BuildRequires: %package_name = %{version}
|
||||
%endif
|
||||
|
||||
%description
|
||||
MPICH is a high performance and widely portable implementation of the Message
|
||||
Passing Interface (MPI) standard.
|
||||
|
||||
The goals of MPICH are:
|
||||
|
||||
* 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 and proprietary high-end computing systems
|
||||
(Blue Gene, Cray)
|
||||
* to enable cutting-edge research in MPI through an easy-to-extend modular
|
||||
framework for other derived implementations
|
||||
|
||||
%if 0%{!?testsuite:1}
|
||||
|
||||
%package devel
|
||||
Summary: SDK for MPICH %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: %{name} = %{version}
|
||||
%if %{without hpc}
|
||||
Requires: libstdc++-devel
|
||||
%else
|
||||
%hpc_requires_devel
|
||||
%endif
|
||||
Requires: %{name} = %{version}
|
||||
|
||||
%description devel
|
||||
MPICH is a freely available, portable implementation of MPI, the
|
||||
Standard for message-passing libraries. This package contains manpages,
|
||||
headers and libraries needed for developing MPI applications.
|
||||
|
||||
This RPM contains all the wrappers necessary to compile, link, and run
|
||||
Open MPI jobs.
|
||||
|
||||
%if %{with hpc}
|
||||
%package macros-devel
|
||||
Summary: HPC Macros for MPICH version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: %{name}-devel = %{version}
|
||||
Provides: %{pname}-hpc-macros-devel = %{version}
|
||||
Conflicts: otherproviders(%{pname}-hpc-macros-devel)
|
||||
|
||||
%description macros-devel
|
||||
HPC Macros for building RPM packages for MPICH version %{version}.
|
||||
%endif
|
||||
|
||||
%if 0%{?build_static_devel}
|
||||
%package devel-static
|
||||
Summary: Static libraries for MPICH %{?with_hpc:HPC} version %{version}
|
||||
Group: Development/Libraries/Parallel
|
||||
Requires: %{name}-devel = %{version}
|
||||
|
||||
%description devel-static
|
||||
MPICH is a freely available, portable implementation of MPI, the
|
||||
Standard for message-passing libraries. This package contains manpages,
|
||||
headers and libraries needed for developing MPI applications.
|
||||
|
||||
This RPM contains the static library files, which are packaged separately from
|
||||
the dynamic library and headers.
|
||||
%endif
|
||||
|
||||
%if %{with hpc}
|
||||
%{hpc_master_package -L -a}
|
||||
%{hpc_master_package -a devel}
|
||||
%{hpc_master_package macros-devel}
|
||||
%{hpc_master_package -a devel-static}
|
||||
%endif # ?with_hpc
|
||||
|
||||
%endif # ! testsuite
|
||||
|
||||
%prep
|
||||
echo FLAVOR %{flavor}
|
||||
%if %{with hpc}
|
||||
echo with HPC
|
||||
%endif
|
||||
%if %{without hpc}
|
||||
echo without HPC
|
||||
%endif
|
||||
%setup -q -n mpich-%{version}%{?rc_ver}
|
||||
%patch1
|
||||
%patch2
|
||||
# Make sure prebuilt dependencies are used and not mpich submodules
|
||||
rm -R modules/{ucx,libfabric,json-c}
|
||||
|
||||
%build
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
|
||||
# GCC10 needs an extra flag to allow badly passed parameters
|
||||
%if 0%{?suse_version} > 1500 || 0%{?hpc_gnu_dep_version} >= 10
|
||||
export FFLAGS="-fallow-argument-mismatch $FFLAGS"
|
||||
export FCFLAGS="-fallow-argument-mismatch $FCFLAGS"
|
||||
%endif
|
||||
|
||||
./autogen.sh --without-ucx --without-ofi --without-json
|
||||
%{?with_hpc:%hpc_debug}
|
||||
%if %{with hpc}
|
||||
%{hpc_setup}
|
||||
%{hpc_configure} \
|
||||
%else
|
||||
%configure \
|
||||
--prefix=%{p_prefix} \
|
||||
--exec-prefix=%{p_prefix} \
|
||||
--datadir=%{p_datadir} \
|
||||
--bindir=%{p_bindir} \
|
||||
--includedir=%{p_includedir} \
|
||||
--libdir=%{p_libdir} \
|
||||
--libexecdir=%{p_libexecdir} \
|
||||
--mandir=%{p_mandir} \
|
||||
%endif
|
||||
--docdir=%{_datadir}/doc/%{name} \
|
||||
--disable-rpath \
|
||||
--disable-wrapper-rpath \
|
||||
%if "%{build_flavor}" == "ofi"
|
||||
--with-ofi \
|
||||
--with-device=ch4:ofi \
|
||||
%endif
|
||||
%if "%{build_flavor}" == "ucx"
|
||||
--with-ucx \
|
||||
--with-device=ch4:ucx \
|
||||
%endif
|
||||
CFLAGS="%optflags -fPIC" \
|
||||
CXXLAGS="%optflags -fPIC" \
|
||||
MPICHLIB_CFLAGS="%{optflags}" \
|
||||
MPICHLIB_CXXFLAGS="%{optflags}"
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
# sanitize .la files
|
||||
list="$(find %{buildroot} -name "*.la" -printf "%%h\n" | sort | uniq)"
|
||||
for dir in ${list}
|
||||
do
|
||||
deps="${deps} -L${dir##%{buildroot}}"
|
||||
done
|
||||
for dir in ${list}
|
||||
do
|
||||
%if !0%{?build_static_devel}
|
||||
rm -f ${dir}/*.la
|
||||
%else
|
||||
for file in ${dir}/*.la
|
||||
do
|
||||
sed -i -e "s@ [^[:space:]]*home[^[:space:]\']*@${deps}@" \
|
||||
-e "s@ [^[:space:]]*home[^[:space:]\']*@@g" \
|
||||
-e "s@-L.*.libs @@g" ${file}
|
||||
done
|
||||
%endif
|
||||
done
|
||||
# sanitize .la files
|
||||
%if !0%{?build_static_devel}
|
||||
find %{buildroot} -name "*.a" -delete
|
||||
%endif
|
||||
|
||||
%fdupes %{buildroot}%{p_mandir}
|
||||
%fdupes %{buildroot}%{p_datadir}
|
||||
%fdupes %{buildroot}%{p_libdir}/pkgconfig
|
||||
|
||||
%if 0%{?testsuite}
|
||||
# Remove everything from testsuite package
|
||||
# It is all contained by mpich packages
|
||||
rm -rf %{buildroot}/*
|
||||
|
||||
%check
|
||||
make check
|
||||
|
||||
%else
|
||||
|
||||
%if %{without hpc}
|
||||
# make and install mpivars files
|
||||
install -m 0755 -d %{buildroot}%{_bindir}
|
||||
sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:1} > %{buildroot}%{p_bindir}/mpivars.sh
|
||||
sed -e 's,prefix,%p_prefix,g' -e 's,libdir,%{p_libdir},g' %{S:2} > %{buildroot}%{p_bindir}/mpivars.csh
|
||||
|
||||
mkdir -p %{buildroot}%{_moduledir}
|
||||
|
||||
cat << EOF > %{buildroot}%{_moduledir}/%{version}
|
||||
#%%Module
|
||||
proc ModulesHelp { } {
|
||||
global dotversion
|
||||
puts stderr "\tLoads the gnu - mpich %{version} Environment"
|
||||
}
|
||||
|
||||
module-whatis "Loads the gnu mpich %{version} Environment."
|
||||
conflict gnu-mpich
|
||||
prepend-path PATH %{%p_bindir}
|
||||
prepend-path INCLUDE %{p_includedir}
|
||||
prepend-path INCLUDE %{p_libdir}
|
||||
prepend-path MANPATH %{p_mandir}
|
||||
prepend-path LD_LIBRARY_PATH %{p_libdir}
|
||||
|
||||
EOF
|
||||
|
||||
cat << EOF > %{buildroot}%{_moduledir}/.version
|
||||
#%%Module1.0
|
||||
set ModulesVersion "%{version}"
|
||||
|
||||
EOF
|
||||
%else # with hpc
|
||||
|
||||
install -d -m 755 %{buildroot}%{_rpmmacrodir}
|
||||
cp %{S:3} %{buildroot}%{_rpmmacrodir}
|
||||
|
||||
%hpc_write_modules_files
|
||||
#%%Module1.0#####################################################################
|
||||
|
||||
proc ModulesHelp { } {
|
||||
|
||||
puts stderr " "
|
||||
puts stderr "This module loads the %{pname} library built with the %{compiler_family} toolchain."
|
||||
puts stderr "\nVersion %{version}\n"
|
||||
|
||||
}
|
||||
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
|
||||
module-whatis "Version: %{version}"
|
||||
module-whatis "Category: runtime library"
|
||||
module-whatis "Description: %{SUMMARY:0}"
|
||||
module-whatis "URL: %{url}"
|
||||
|
||||
set version %{version}
|
||||
|
||||
prepend-path PATH %{hpc_bindir}
|
||||
prepend-path MANPATH %{hpc_mandir}
|
||||
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||
prepend-path MODULEPATH %{hpc_modulepath}
|
||||
prepend-path MPI_DIR %{hpc_prefix}
|
||||
%{hpc_modulefile_add_pkgconfig_path}
|
||||
|
||||
family "MPI"
|
||||
EOF
|
||||
cat <<EOF > %{buildroot}/%{p_bindir}/mpivars.sh
|
||||
%hpc_setup_compiler
|
||||
module load %{hpc_mpi_family}%{?pack_suff}/%{version}
|
||||
EOF
|
||||
sed -e "s/export/setenv/" -e "s/=/ /" \
|
||||
%{buildroot}/%{p_bindir}/mpivars.sh > \
|
||||
%{buildroot}/%{p_bindir}/mpivars.csh
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
||||
%endif # with hpc
|
||||
|
||||
find %{buildroot} -type f -name "*.la" -exec rm -f {} ';'
|
||||
|
||||
%fdupes -s %{buildroot}
|
||||
|
||||
%post
|
||||
/sbin/ldconfig
|
||||
%if %{without hpc}
|
||||
# Always register. We might be already registered in the case of an udate
|
||||
# but mpi-selector handles it fine
|
||||
/usr/bin/mpi-selector \
|
||||
--register %{name}%{?pack_suff} \
|
||||
--source-dir %{p_bindir} \
|
||||
--yes
|
||||
%endif
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
%if %{without hpc}
|
||||
# Only unregister when uninstalling
|
||||
if [ "$1" = "0" ]; then
|
||||
/usr/bin/mpi-selector --unregister %{name}%{?pack_suff} --yes
|
||||
# Deregister the default if we are uninstalling it
|
||||
if [ "$(/usr/bin/mpi-selector --system --query)" = "%{name}%{?pack_suff}" ]; then
|
||||
/usr/bin/mpi-selector --system --unset --yes
|
||||
fi
|
||||
fi
|
||||
%else
|
||||
%hpc_module_delete_if_default
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc CHANGES COPYRIGHT README README.envvar RELEASE_NOTES
|
||||
%if %{without hpc}
|
||||
%dir /usr/%_lib/mpi
|
||||
%dir /usr/%_lib/mpi/gcc
|
||||
%dir /usr/share/modules
|
||||
%dir %{_moduledir}
|
||||
%{_moduledir}
|
||||
%else
|
||||
%hpc_mpi_dirs
|
||||
%hpc_modules_files
|
||||
%endif
|
||||
%doc %{_datadir}/doc/*
|
||||
%dir %{p_prefix}
|
||||
%dir %{p_bindir}
|
||||
%dir %{p_datadir}
|
||||
%dir %{p_includedir}
|
||||
%dir %{p_mandir}
|
||||
%dir %{p_mandir}/man1
|
||||
%dir %{p_mandir}/man3
|
||||
%dir %{p_libdir}
|
||||
%{p_bindir}/*
|
||||
%{p_mandir}/man1/*
|
||||
%{p_libdir}/*.so.*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{p_libdir}/pkgconfig
|
||||
%{p_mandir}/man3/*
|
||||
%{p_includedir}
|
||||
%{p_libdir}/*.so
|
||||
%{p_libdir}/pkgconfig/mpich.pc
|
||||
|
||||
%if 0%{?build_static_devel}
|
||||
%files devel-static
|
||||
%defattr(-,root,root)
|
||||
%{p_libdir}/*.a
|
||||
%endif
|
||||
|
||||
%if %{with hpc}
|
||||
%files macros-devel
|
||||
%defattr(-,root,root)
|
||||
%config %{_rpmmacrodir}/macros.hpc-mpich
|
||||
%endif # with hpc
|
||||
|
||||
%endif # !testsuite
|
||||
|
||||
%changelog
|
15
mpivars.csh
Normal file
15
mpivars.csh
Normal file
@ -0,0 +1,15 @@
|
||||
set -f path= ( prefix/bin $path )
|
||||
|
||||
if ($?MANPATH) then
|
||||
if ( "$MANPATH" !~ *prefix/man* ) then
|
||||
setenv MANPATH prefix/man:$MANPATH
|
||||
endif
|
||||
else
|
||||
setenv MANPATH prefix/man:
|
||||
endif
|
||||
|
||||
if ($?LD_LIBRARY_PATH) then
|
||||
setenv LD_LIBRARY_PATH libdir:$LD_LIBRARY_PATH
|
||||
else
|
||||
setenv LD_LIBRARY_PATH libdir
|
||||
endif
|
31
mpivars.sh
Normal file
31
mpivars.sh
Normal file
@ -0,0 +1,31 @@
|
||||
case $PATH in
|
||||
*prefix/bin*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
PATH=prefix/bin:$PATH
|
||||
esac
|
||||
|
||||
|
||||
case $MANPATH in
|
||||
*prefix/share/man*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
MANPATH=prefix/share/man:$MANPATH
|
||||
export MANPATH
|
||||
esac
|
||||
|
||||
|
||||
case $LD_LIBRARY_PATH in
|
||||
*libdir*)
|
||||
true
|
||||
;;
|
||||
*)
|
||||
if [ -z "$LD_LIBRARY_PATH" ]; then
|
||||
LD_LIBRARY_PATH=libdir
|
||||
else
|
||||
LD_LIBRARY_PATH="libdir:$LD_LIBRARY_PATH"
|
||||
fi
|
||||
export LD_LIBRARY_PATH
|
||||
esac
|
Loading…
Reference in New Issue
Block a user