Sync from SUSE:SLFO:Main mpich revision e509e86607d66e7347fc49e35f9070ed

This commit is contained in:
Adrian Schröter 2024-05-03 16:51:16 +02:00
commit 216ea4711d
11 changed files with 1411 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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
View File

@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">10</size>
</disk>
</hardware>
</constraints>

10
_multibuild Normal file
View 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>

View File

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

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

Binary file not shown.

597
mpich.changes Normal file
View 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
View 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
View 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
View 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