commit 216ea4711de0d4c16341f49bb5d9a79054e3dfe5d1f13d31b1e83f721aef83da Author: Adrian Schröter Date: Fri May 3 16:51:16 2024 +0200 Sync from SUSE:SLFO:Main mpich revision e509e86607d66e7347fc49e35f9070ed diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..7e27c0c --- /dev/null +++ b/_constraints @@ -0,0 +1,7 @@ + + + + 10 + + + \ No newline at end of file diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..4c9f523 --- /dev/null +++ b/_multibuild @@ -0,0 +1,10 @@ + + standard + testsuite + ofi + ofi-testsuite + gnu-hpc + gnu-hpc-testsuite + gnu-hpc-ofi + gnu-hpc-ofi-testsuite + diff --git a/autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch b/autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch new file mode 100644 index 0000000..c9bea81 --- /dev/null +++ b/autoconf-pull-dynamic-and-not-static-libs-from-pkg-config.patch @@ -0,0 +1,27 @@ +commit d0a81cafec8aa4fa668417cb641626a7c3f61c10 +Author: Nicolas Morey-Chaisemartin +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 + +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 + ]) + diff --git a/autogen-only-deal-with-json-yaksa-if-enabled.patch b/autogen-only-deal-with-json-yaksa-if-enabled.patch new file mode 100644 index 0000000..b62ca73 --- /dev/null +++ b/autogen-only-deal-with-json-yaksa-if-enabled.patch @@ -0,0 +1,47 @@ +commit ad48f4b53fa70b2b995fe884a87307298b737a52 +Author: Nicolas Morey-Chaisemartin +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 + +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 diff --git a/macros.hpc-mpich b/macros.hpc-mpich new file mode 100644 index 0000000..48e6216 --- /dev/null +++ b/macros.hpc-mpich @@ -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 diff --git a/mpich-4.0.2.tar.gz b/mpich-4.0.2.tar.gz new file mode 100644 index 0000000..3b48dba --- /dev/null +++ b/mpich-4.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a42f1a889d4a2d996c26e48cbf9c595cbf4316c6814f7c181e3320d21dedd42 +size 38137945 diff --git a/mpich.changes b/mpich.changes new file mode 100644 index 0000000..a9a2b53 --- /dev/null +++ b/mpich.changes @@ -0,0 +1,597 @@ +------------------------------------------------------------------- +Tue Oct 25 08:20:20 UTC 2022 - Nicolas Morey-Chaisemartin + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Move rpm macros to %_rpmmacrodir (bsc#1191385) + +------------------------------------------------------------------- +Tue Aug 24 06:34:32 UTC 2021 - Nicolas Morey-Chaisemartin + +- 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 + +- 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 + +- 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 + +- HPC: Fix environment module settings for MANPATH. + +------------------------------------------------------------------- +Sat Jul 25 07:07:11 UTC 2020 - Egbert Eich + +- 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 + +- Add build support for gcc8/9/10 to HPC build (bsc#1174439). + +------------------------------------------------------------------- +Tue Jun 9 19:35:09 UTC 2020 - Nicolas Morey-Chaisemartin + +- Fix compilation with GCC10 by adding -fallow-argument-mismatch to FFLAGS + +------------------------------------------------------------------- +Tue Apr 14 07:22:58 UTC 2020 - Nicolas Morey-Chaisemartin + +- 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 + +- 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 + +- 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 + +- Fix LTO support in archive file + +------------------------------------------------------------------- +Fri May 3 09:40:25 UTC 2019 - Nicolas Morey-Chaisemartin + +- Update to mpich 3.3 + - See CHANGES for a list of changes + +------------------------------------------------------------------- +Thu Mar 21 07:20:25 UTC 2019 - Ana Guerrero Lopez + +- 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 + diff --git a/mpich.spec b/mpich.spec new file mode 100644 index 0000000..0c4c6a9 --- /dev/null +++ b/mpich.spec @@ -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 < %{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 diff --git a/mpivars.csh b/mpivars.csh new file mode 100644 index 0000000..5c7f4a3 --- /dev/null +++ b/mpivars.csh @@ -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 diff --git a/mpivars.sh b/mpivars.sh new file mode 100644 index 0000000..c8317da --- /dev/null +++ b/mpivars.sh @@ -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