Sync from SUSE:ALP:Source:Standard:1.0 openmpi1 revision 29dca78b323c76882c84ecffc685a579
This commit is contained in:
commit
1104dc3511
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
|
30
Always-include-the-stddef.h-header.patch
Normal file
30
Always-include-the-stddef.h-header.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
commit dcff536356827548849a1a6923265f7996543be7
|
||||||
|
Author: George Bosilca <bosilca@icl.utk.edu>
|
||||||
|
Date: Fri Mar 12 13:38:10 2021 -0500
|
||||||
|
|
||||||
|
Always include the stddef.h header.
|
||||||
|
|
||||||
|
Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
|
||||||
|
|
||||||
|
diff --git configure.ac configure.ac
|
||||||
|
index 68a839804639..be1b8b3738ca 100644
|
||||||
|
--- configure.ac
|
||||||
|
+++ configure.ac
|
||||||
|
@@ -1302,10 +1302,13 @@ OPAL_SETUP_WRAPPER_FINAL
|
||||||
|
# autoconf macro defines in mpi.h. Since AC sometimes changes whether
|
||||||
|
# things are defined as null tokens or an integer result, two projects
|
||||||
|
# with different versions of AC can cause problems.
|
||||||
|
-if test $ac_cv_header_stdc = yes; then
|
||||||
|
- AC_DEFINE(OPAL_STDC_HEADERS, 1,
|
||||||
|
- [Do not use outside of mpi.h. Define to 1 if you have the ANSI C header files.])
|
||||||
|
-fi
|
||||||
|
+
|
||||||
|
+# According to the autoconf 2.67 documentation the AC_HEADER_STDC macro,
|
||||||
|
+# and therefore the ac_cv_header_stdc cache variable, is obsolescent, as
|
||||||
|
+# current systems have conforming header files. Instead of removing the
|
||||||
|
+# protection completely, let's just make sure it is always on.
|
||||||
|
+AC_DEFINE(OPAL_STDC_HEADERS, 1,
|
||||||
|
+ [Do not use outside of mpi.h. Define to 1 if you have the ANSI C header files.])
|
||||||
|
if test $ac_cv_header_sys_time_h = yes ; then
|
||||||
|
AC_DEFINE(OPAL_HAVE_SYS_TIME_H, 1,
|
||||||
|
[Do not use outside of mpi.h. Define to 1 if you have the <sys/time.h> header file.])
|
@ -0,0 +1,23 @@
|
|||||||
|
commit 00e96b9cf66a9e424e9c60405996123c614a50d9
|
||||||
|
Author: Christoph Niethammer <niethammer@hlrs.de>
|
||||||
|
Date: Tue Jan 19 22:56:19 2021 +0100
|
||||||
|
|
||||||
|
Fix error with stricter quoting requirements of autoconf-2.70
|
||||||
|
|
||||||
|
Signed-off-by: Christoph Niethammer <niethammer@hlrs.de>
|
||||||
|
|
||||||
|
diff --git config/opal_check_cuda.m4 config/opal_check_cuda.m4
|
||||||
|
index 1248f15e3400..c86d8a396c25 100644
|
||||||
|
--- config/opal_check_cuda.m4
|
||||||
|
+++ config/opal_check_cuda.m4
|
||||||
|
@@ -85,8 +85,8 @@ AS_IF([test "$opal_check_cuda_happy"="yes"],
|
||||||
|
# If we have CUDA support, check to see if we have support for SYNC_MEMOPS
|
||||||
|
# which was first introduced in CUDA 6.0.
|
||||||
|
AS_IF([test "$opal_check_cuda_happy"="yes"],
|
||||||
|
- AC_CHECK_DECL([CU_POINTER_ATTRIBUTE_SYNC_MEMOPS], [CUDA_SYNC_MEMOPS=1], [CUDA_SYNC_MEMOPS=0],
|
||||||
|
- [#include <$opal_cuda_incdir/cuda.h>]),
|
||||||
|
+ [AC_CHECK_DECL([CU_POINTER_ATTRIBUTE_SYNC_MEMOPS], [CUDA_SYNC_MEMOPS=1], [CUDA_SYNC_MEMOPS=0],
|
||||||
|
+ [#include <$opal_cuda_incdir/cuda.h>])],
|
||||||
|
[])
|
||||||
|
|
||||||
|
# If we have CUDA support, check to see if we have CUDA 6.0 or later.
|
13
_constraints
Normal file
13
_constraints
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<constraints>
|
||||||
|
<overwrite>
|
||||||
|
<conditions>
|
||||||
|
<arch>ppc64le</arch>
|
||||||
|
</conditions>
|
||||||
|
<hardware>
|
||||||
|
<disk>
|
||||||
|
<size unit="G">4</size>
|
||||||
|
</disk>
|
||||||
|
</hardware>
|
||||||
|
</overwrite>
|
||||||
|
</constraints>
|
||||||
|
|
6
_multibuild
Normal file
6
_multibuild
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>standard</package>
|
||||||
|
<package>testsuite</package>
|
||||||
|
<package>gnu-hpc</package>
|
||||||
|
<package>gnu-hpc-testsuite</package>
|
||||||
|
</multibuild>
|
17
_service
Normal file
17
_service
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<services>
|
||||||
|
<service name="tar_scm" mode="disabled">
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="url">https://github.com/open-mpi/ompi.git</param>
|
||||||
|
<param name="package-meta">no</param>
|
||||||
|
<param name="exclude">.git</param>
|
||||||
|
<param name="filename">openmpi</param>
|
||||||
|
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
|
||||||
|
<param name="versionrewrite-pattern">v(.*)</param>
|
||||||
|
<param name="versionrewrite-replacement">\1</param>
|
||||||
|
<param name="revision">5e373bf1fdc02114aed5f3cb4da1137e99d9ad9c</param>
|
||||||
|
</service>
|
||||||
|
<service name="recompress" mode="disabled">
|
||||||
|
<param name="file">*openmpi*.tar</param>
|
||||||
|
<param name="compression">bz2</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
21
macros.hpc-openmpi
Normal file
21
macros.hpc-openmpi
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#
|
||||||
|
# openmpi
|
||||||
|
#
|
||||||
|
|
||||||
|
%hpc_openmpi_init(V:) \
|
||||||
|
%{-V: %define _mf_ver %{-V*}} \
|
||||||
|
%{expand: %%global hpc_openmpi_dep_version %%{?_mf_ver}%%{!?_mf_ver:1}} \
|
||||||
|
%{expand: %%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}} \
|
||||||
|
%{expand: %%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}} \
|
||||||
|
%{expand: %%global _hpc_openmpi_modules openmpi}
|
||||||
|
|
||||||
|
# We may have to add a version here.
|
||||||
|
%hpc_setup_openmpi \
|
||||||
|
module load openmpi
|
||||||
|
|
||||||
|
%hpc_openmpi_requires \
|
||||||
|
Requires: libopenmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc
|
||||||
|
|
||||||
|
%hpc_openmpi_requires_devel \
|
||||||
|
Requires: openmpi%{hpc_openmpi_dep_version}-%{hpc_compiler_family}%{hpc_cf_pack_version}-hpc-devel
|
||||||
|
|
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
|
33
ompi-mca-fix-duplicated-symbol.patch
Normal file
33
ompi-mca-fix-duplicated-symbol.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
commit e1f77cff04e2403275fbf119fe2685171511aa55
|
||||||
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Tue Jun 9 10:46:17 2020 +0200
|
||||||
|
|
||||||
|
ompi mca: fix duplicated symbol
|
||||||
|
|
||||||
|
Add missing extern to avoid duplicated symbol error with GCC10
|
||||||
|
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: .libs/mtl_psm_component.o (symbol from plugin): in function `mca_mtl_psm_component':
|
||||||
|
(.text+0x0): multiple definition of `mca_mtl_psm_component'; .libs/mtl_psm.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: .libs/mtl_psm_endpoint.o (symbol from plugin): in function `mca_mtl_psm_endpoint_t_class':
|
||||||
|
(.text+0x0): multiple definition of `mca_mtl_psm_component'; .libs/mtl_psm.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: .libs/mtl_psm_probe.o (symbol from plugin): in function `ompi_mtl_psm_iprobe':
|
||||||
|
(.text+0x0): multiple definition of `mca_mtl_psm_component'; .libs/mtl_psm.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: .libs/mtl_psm_recv.o (symbol from plugin): in function `ompi_mtl_psm_irecv':
|
||||||
|
(.text+0x0): multiple definition of `mca_mtl_psm_component'; .libs/mtl_psm.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: .libs/mtl_psm_send.o (symbol from plugin): in function `ompi_mtl_psm_send':
|
||||||
|
(.text+0x0): multiple definition of `mca_mtl_psm_component'; .libs/mtl_psm.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
|
||||||
|
diff --git ompi/mca/mtl/psm/mtl_psm_types.h ompi/mca/mtl/psm/mtl_psm_types.h
|
||||||
|
index 734825ce6019..799f6acdf065 100644
|
||||||
|
--- ompi/mca/mtl/psm/mtl_psm_types.h
|
||||||
|
+++ ompi/mca/mtl/psm/mtl_psm_types.h
|
||||||
|
@@ -70,7 +70,7 @@ struct mca_mtl_psm_component_t {
|
||||||
|
};
|
||||||
|
typedef struct mca_mtl_psm_component_t mca_mtl_psm_component_t;
|
||||||
|
|
||||||
|
-OMPI_DECLSPEC mca_mtl_psm_component_t mca_mtl_psm_component;
|
||||||
|
+extern OMPI_DECLSPEC mca_mtl_psm_component_t mca_mtl_psm_component;
|
||||||
|
|
||||||
|
#define PSM_MAKE_MQTAG(ctxt,rank,utag) \
|
||||||
|
( (((ctxt)&0xffffULL)<<48)| (((rank)&0xffffULL)<<32)| \
|
BIN
openmpi-1.10.7.0.5e373bf1fd.tar.bz2
(Stored with Git LFS)
Normal file
BIN
openmpi-1.10.7.0.5e373bf1fd.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
27
openmpi-1.8.3-fix-bashisms.patch
Normal file
27
openmpi-1.8.3-fix-bashisms.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
diff -Ndur openmpi-1.8.3/ompi/contrib/vt/vt/tools/vtrun/vtrun.in openmpi-1.8.3-fix-bashisms/ompi/contrib/vt/vt/tools/vtrun/vtrun.in
|
||||||
|
--- openmpi-1.8.3/ompi/contrib/vt/vt/tools/vtrun/vtrun.in 2014-07-11 21:12:19.000000000 +0300
|
||||||
|
+++ openmpi-1.8.3-fix-bashisms/ompi/contrib/vt/vt/tools/vtrun/vtrun.in 2014-11-29 02:58:46.593455828 +0200
|
||||||
|
@@ -110,9 +110,9 @@
|
||||||
|
{
|
||||||
|
if test $verbose -ge $1; then
|
||||||
|
if test $mpi -eq 1; then
|
||||||
|
- echo -e "$EXENAME: [$PID]: $2"
|
||||||
|
+ echo "$EXENAME: [$PID]: $2"
|
||||||
|
else
|
||||||
|
- echo -e "$EXENAME: $2"
|
||||||
|
+ echo "$EXENAME: $2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
@@ -123,9 +123,9 @@
|
||||||
|
error_msg()
|
||||||
|
{
|
||||||
|
if test $mpi -eq 1; then
|
||||||
|
- echo -e "$EXENAME: [$PID]: $*" >&2
|
||||||
|
+ echo "$EXENAME: [$PID]: $*" >&2
|
||||||
|
else
|
||||||
|
- echo -e "$EXENAME: $*" >&2
|
||||||
|
+ echo "$EXENAME: $*" >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
30
openmpi-avoid-a-date-string-in-compiled-code.patch
Normal file
30
openmpi-avoid-a-date-string-in-compiled-code.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From: Egbert Eich <eich@suse.de>
|
||||||
|
Date: Wed May 17 10:46:11 2017 +0200
|
||||||
|
Subject: Avoid a date string in compiled code.
|
||||||
|
Patch-mainline: never
|
||||||
|
Git-commit: bb0446da315743fe3b6e393641accf8747ee0923
|
||||||
|
References:
|
||||||
|
|
||||||
|
A DATE string in a binary will cause the package to be marked
|
||||||
|
updated whenever it changes.
|
||||||
|
|
||||||
|
Signed-off-by: Egbert Eich <eich@suse.com>
|
||||||
|
---
|
||||||
|
ompi/debuggers/ompi_msgq_dll.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
diff --git a/ompi/debuggers/ompi_msgq_dll.c b/ompi/debuggers/ompi_msgq_dll.c
|
||||||
|
index a89e5f1..350b0e0 100644
|
||||||
|
--- a/ompi/debuggers/ompi_msgq_dll.c
|
||||||
|
+++ b/ompi/debuggers/ompi_msgq_dll.c
|
||||||
|
@@ -194,7 +194,11 @@ static char mqs_version_str[OMPI_MAX_VER_SIZE];
|
||||||
|
char *mqs_version_string (void)
|
||||||
|
{
|
||||||
|
return "Open MPI message queue support for parallel"
|
||||||
|
+#ifndef OPAL_PACKAGE_STRING
|
||||||
|
" debuggers compiled on " __DATE__;
|
||||||
|
+#else
|
||||||
|
+ " debuggers compiled for " OPAL_PACKAGE_STRING;
|
||||||
|
+#endif
|
||||||
|
int offset;
|
||||||
|
offset = snprintf(mqs_version_str, OMPI_MAX_VER_SIZE-1,
|
||||||
|
"Open MPI message queue support for parallel debuggers ");
|
57
openmpi-btl-openib-backport-device-params-from-master.patch
Normal file
57
openmpi-btl-openib-backport-device-params-from-master.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
commit 3d7e7549a2aace210b32d0dcd70d836f219ab88e
|
||||||
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
Date: Tue Jun 26 07:46:08 2018 +0200
|
||||||
|
|
||||||
|
openmpi btl openib backport device params from master
|
||||||
|
|
||||||
|
Backport support for newer HCA from the master branch
|
||||||
|
|
||||||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
|
||||||
|
diff --git ompi/mca/btl/openib/mca-btl-openib-device-params.ini ompi/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||||
|
index 6b1106f94af2..6e852647f391 100644
|
||||||
|
--- ompi/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||||
|
+++ ompi/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||||
|
@@ -234,6 +234,11 @@ use_eager_rdma = 1
|
||||||
|
mtu = 4096
|
||||||
|
max_inline_data = 0
|
||||||
|
|
||||||
|
+[QLogic FastLinQ QL41000]
|
||||||
|
+vendor_id = 0x1077
|
||||||
|
+vendor_part_id = 32880
|
||||||
|
+receive_queues = P,65536,64
|
||||||
|
+
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
# Chelsio's OUI is 0x0743. 0x1425 is the PCI ID.
|
||||||
|
@@ -262,6 +267,14 @@ mtu = 2048
|
||||||
|
receive_queues = P,65536,64
|
||||||
|
max_inline_data = 280
|
||||||
|
|
||||||
|
+[Chelsio T6]
|
||||||
|
+vendor_id = 0x1425
|
||||||
|
+vendor_part_id = 0x6400,0x6401,0x6402,0x6403,0x6404,0x6405,0x6406,0x6407,0x6408,0x6409,0x640d,0x6410,0x6411,0x6414,0x6415
|
||||||
|
+use_eager_rdma = 1
|
||||||
|
+mtu = 2048
|
||||||
|
+receive_queues = P,65536,64
|
||||||
|
+max_inline_data = 280
|
||||||
|
+
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
# I'm *assuming* that 0x4040 is the PCI ID...
|
||||||
|
@@ -316,3 +329,15 @@ use_eager_rdma = 1
|
||||||
|
mtu = 2048
|
||||||
|
receive_queues = P,65536,64
|
||||||
|
max_inline_data = 72
|
||||||
|
+
|
||||||
|
+############################################################################
|
||||||
|
+
|
||||||
|
+# Broadcom NetXtreme-E RDMA Ethernet Controller
|
||||||
|
+
|
||||||
|
+[Broadcom Cumulus]
|
||||||
|
+vendor_id = 0x14e4
|
||||||
|
+vendor_part_id = 0x16d7
|
||||||
|
+use_eager_rdma = 1
|
||||||
|
+mtu = 1024
|
||||||
|
+receive_queues = P,65536,256,192,128
|
||||||
|
+max_inline_data = 96
|
91
openmpi-etc-files.patch
Normal file
91
openmpi-etc-files.patch
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
diff --git ompi/etc/openmpi-totalview.tcl ompi/etc/openmpi-totalview.tcl
|
||||||
|
index d9b4ab9..27edbc4 100644
|
||||||
|
--- ompi/etc/openmpi-totalview.tcl
|
||||||
|
+++ ompi/etc/openmpi-totalview.tcl
|
||||||
|
@@ -5,14 +5,14 @@
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
+# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
# University of Stuttgart. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
|
# All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
diff --git opal/etc/openmpi-mca-params.conf opal/etc/openmpi-mca-params.conf
|
||||||
|
index 7a1f923..e491480 100644
|
||||||
|
--- opal/etc/openmpi-mca-params.conf
|
||||||
|
+++ opal/etc/openmpi-mca-params.conf
|
||||||
|
@@ -5,15 +5,15 @@
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
+# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
# University of Stuttgart. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
|
# All rights reserved.
|
||||||
|
-# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
||||||
|
+# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved
|
||||||
|
# $COPYRIGHT$
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
|
||||||
|
@@ -54,5 +54,5 @@
|
||||||
|
# Change component loading path
|
||||||
|
# component_path = /usr/local/lib/openmpi:~/my_openmpi_components
|
||||||
|
|
||||||
|
-# See "ompi_info --param all all" for a full listing of Open MPI MCA
|
||||||
|
-# parameters available and their default values.
|
||||||
|
+# See "ompi_info --param all all --level 9" for a full listing of Open
|
||||||
|
+# MPI MCA parameters available and their default values.
|
||||||
|
diff --git orte/etc/openmpi-default-hostfile orte/etc/openmpi-default-hostfile
|
||||||
|
index 0051d15..ad5a0f7 100644
|
||||||
|
--- orte/etc/openmpi-default-hostfile
|
||||||
|
+++ orte/etc/openmpi-default-hostfile
|
||||||
|
@@ -5,21 +5,21 @@
|
||||||
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
||||||
|
# of Tennessee Research Foundation. All rights
|
||||||
|
# reserved.
|
||||||
|
-# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
+# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||||
|
# University of Stuttgart. All rights reserved.
|
||||||
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
|
# All rights reserved.
|
||||||
|
# $COPYRIGHT$
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# Additional copyrights may follow
|
||||||
|
-#
|
||||||
|
+#
|
||||||
|
# $HEADER$
|
||||||
|
#
|
||||||
|
# This is the default hostfile for Open MPI. Notice that it does not
|
||||||
|
# contain any hosts (not even localhost). This file should only
|
||||||
|
# contain hosts if a system administrator wants users to always have
|
||||||
|
# the same set of default hosts, and is not using a batch scheduler
|
||||||
|
-# (such as SLURM, PBS, etc.).
|
||||||
|
+# (such as SLURM, PBS, etc.).
|
||||||
|
#
|
||||||
|
# Note that this file is *not* used when running in "managed"
|
||||||
|
# environments (e.g., running in a job under a job scheduler, such as
|
||||||
|
@@ -32,5 +32,5 @@
|
||||||
|
# components were able to find any hosts to run on (this behavior can
|
||||||
|
# be disabled by excluding the localhost RAS component by specifying
|
||||||
|
# the value "^localhost" [without the quotes] to the "ras" MCA
|
||||||
|
-# parameter).
|
||||||
|
+# parameter).
|
||||||
|
|
17
openmpi-no_network_in_build.patch
Normal file
17
openmpi-no_network_in_build.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
test/util/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: test/util/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- test/util/Makefile.am.orig 2014-04-22 16:51:00.000000000 +0200
|
||||||
|
+++ test/util/Makefile.am 2014-04-29 18:37:08.260494412 +0200
|
||||||
|
@@ -33,7 +33,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/test/suppo
|
||||||
|
|
||||||
|
|
||||||
|
check_PROGRAMS = \
|
||||||
|
- opal_bit_ops opal_path_nfs
|
||||||
|
+ opal_bit_ops
|
||||||
|
|
||||||
|
TESTS = \
|
||||||
|
$(check_PROGRAMS)
|
6
openmpi-rpmlintrc
Normal file
6
openmpi-rpmlintrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This line is mandatory to access the configuration functions
|
||||||
|
from Config import *
|
||||||
|
|
||||||
|
addFilter("openmpi.* rpath-in-buildconfig")
|
||||||
|
addFilter("openmpi.* script-without-shebang")
|
||||||
|
addFilter("openmpi.* shared-lib-calls-exit")
|
1761
openmpi1.changes
Normal file
1761
openmpi1.changes
Normal file
File diff suppressed because it is too large
Load Diff
801
openmpi1.spec
Normal file
801
openmpi1.spec
Normal file
@ -0,0 +1,801 @@
|
|||||||
|
#
|
||||||
|
# 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 openmpi
|
||||||
|
%define vers 1.10.7
|
||||||
|
%define _vers 1_10_7
|
||||||
|
%define m_f_ver 1
|
||||||
|
%bcond_with ringdisabled
|
||||||
|
|
||||||
|
%if "%flavor" == ""
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%{bcond_with hpc}
|
||||||
|
%define package_name %pname%{m_f_ver}
|
||||||
|
%else
|
||||||
|
# Trickery for OBS Staging. If _with_ringdisabled is set
|
||||||
|
# we only want to build the flavors required by other rings packages.
|
||||||
|
# Do not build any other ones
|
||||||
|
%if %{with ringdisabled}
|
||||||
|
%if "%flavor" != "standard"
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "standard" || "%flavor" == "testsuite"
|
||||||
|
%define package_name %{pname}%{m_f_ver}
|
||||||
|
%bcond_with hpc
|
||||||
|
%if "%flavor" == "testsuite"
|
||||||
|
%define testsuite 1
|
||||||
|
%endif
|
||||||
|
%else
|
||||||
|
%bcond_without hpc
|
||||||
|
# Needs to be defined here to avoid hen/egg problem with test packages.
|
||||||
|
%define package_name %{pname}_%{_vers}-%{compiler_family}%{?c_f_ver}-hpc
|
||||||
|
%define build_static_devel 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu7-hpc"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu-hpc-testsuite"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%undefine c_f_ver
|
||||||
|
%define testsuite 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if "%flavor" == "gnu7-hpc-testsuite"
|
||||||
|
%define compiler_family gnu
|
||||||
|
%define c_f_ver 7
|
||||||
|
%define testsuite 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?suse_version} >= 1320
|
||||||
|
%ifarch aarch64 %power64 x86_64 s390x
|
||||||
|
%define with_ucx 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Detect whether we are the default openMPI implemantation or not
|
||||||
|
%if "%{flavor}" == "standard" && %{suse_version} < 1500
|
||||||
|
%define default_openmpi 1
|
||||||
|
%else
|
||||||
|
%define default_openmpi 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%{!?compiler_family:%global compiler_family gnu}
|
||||||
|
%{hpc_init -M -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} -m openmpi %{?mpi_f_ver:-V %{mpi_f_ver}}}
|
||||||
|
|
||||||
|
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
|
||||||
|
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
|
||||||
|
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define git_ver .0.5e373bf1fd
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Preamble Section
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
Name: %{package_name}%{?testsuite:-testsuite}
|
||||||
|
Version: %{vers}
|
||||||
|
Release: 0
|
||||||
|
Summary: A powerful implementation of MPI
|
||||||
|
License: BSD-3-Clause
|
||||||
|
Group: Development/Libraries/Parallel
|
||||||
|
URL: http://www.open-mpi.org/
|
||||||
|
Source0: openmpi-%{version}%{git_ver}.tar.bz2
|
||||||
|
Source1: mpivars.sh
|
||||||
|
Source2: mpivars.csh
|
||||||
|
Source3: macros.hpc-openmpi
|
||||||
|
Source4: openmpi-rpmlintrc
|
||||||
|
Source5: _multibuild
|
||||||
|
Patch1: openmpi-avoid-a-date-string-in-compiled-code.patch
|
||||||
|
Patch2: openmpi-no_network_in_build.patch
|
||||||
|
Patch3: openmpi-1.8.3-fix-bashisms.patch
|
||||||
|
Patch4: openmpi-etc-files.patch
|
||||||
|
Patch5: openmpi-btl-openib-backport-device-params-from-master.patch
|
||||||
|
Patch6: reproducible.patch
|
||||||
|
Patch7: ompi-mca-fix-duplicated-symbol.patch
|
||||||
|
Patch8: Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch
|
||||||
|
Patch9: Always-include-the-stddef.h-header.patch
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: flex
|
||||||
|
BuildRequires: libibumad-devel
|
||||||
|
BuildRequires: libibverbs-devel
|
||||||
|
BuildRequires: libtool
|
||||||
|
BuildRequires: zlib-devel
|
||||||
|
%if 0%{?testsuite}
|
||||||
|
BuildArch: noarch
|
||||||
|
BuildRequires: %package_name = %{version}
|
||||||
|
%endif
|
||||||
|
# Disable hpc builds for SLE12
|
||||||
|
%if 0%{?sle_version} > 120200 && 0%{?sle_version} < 150000 && %{with hpc}
|
||||||
|
ExclusiveArch: do_not_build
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_ucx}
|
||||||
|
BuildRequires: libucm-devel
|
||||||
|
BuildRequires: libucp-devel
|
||||||
|
BuildRequires: libucs-devel
|
||||||
|
BuildRequires: libuct-devel
|
||||||
|
%endif
|
||||||
|
%if %{without hpc}
|
||||||
|
BuildRequires: Modules
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: gcc-fortran
|
||||||
|
BuildRequires: mpi-selector
|
||||||
|
Requires: mpi-selector
|
||||||
|
Requires(preun):mpi-selector
|
||||||
|
Requires: %{package_name}-libs = %{version}
|
||||||
|
%else
|
||||||
|
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
||||||
|
BuildRequires: lua-lmod
|
||||||
|
BuildRequires: suse-hpc
|
||||||
|
%if 0%{!?testsuite:1}
|
||||||
|
Requires: lib%{package_name} = %{version}
|
||||||
|
%endif
|
||||||
|
%hpc_requires
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
BuildRequires: infinipath-psm-devel
|
||||||
|
BuildRequires: libfabric-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
BuildRequires: libnuma-devel
|
||||||
|
BuildRequires: libpsm2-devel
|
||||||
|
BuildRequires: numactl
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Requires: openmpi-runtime-config
|
||||||
|
Recommends: openmpi%{m_f_ver}-config
|
||||||
|
%if 0%{?default_openmpi}
|
||||||
|
Provides: openmpi = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# openmpi < 1.10.7 had no separate config package
|
||||||
|
%{?with_hpc:Conflicts: openmpi < 1.10.7}
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%define mpi_prefix %{_libdir}/mpi/gcc/openmpi%{m_f_ver}
|
||||||
|
|
||||||
|
%define mpi_bindir %{mpi_prefix}/bin
|
||||||
|
%define mpi_libdir %{mpi_prefix}/%{_lib}
|
||||||
|
%define mpi_datadir %{mpi_prefix}/share
|
||||||
|
%define mpi_helpdir %{mpi_datadir}/%{pname}
|
||||||
|
%define mpi_includedir %{mpi_prefix}/include
|
||||||
|
%define mpi_mandir %{mpi_prefix}/share/man
|
||||||
|
%else
|
||||||
|
%define mpi_prefix %hpc_prefix
|
||||||
|
|
||||||
|
%define mpi_bindir %hpc_bindir
|
||||||
|
%define mpi_libdir %hpc_libdir
|
||||||
|
%define mpi_datadir %hpc_datadir
|
||||||
|
%define mpi_helpdir %{mpi_datadir}/openmpi
|
||||||
|
%define mpi_includedir %hpc_includedir
|
||||||
|
%define mpi_mandir %hpc_mandir
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
%if 0%{?testsuite}
|
||||||
|
This package is just needed to run the testsuite and does not contain
|
||||||
|
anything interesting.
|
||||||
|
%else
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||||
|
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||||
|
abstraction layer providing inter-process communication using
|
||||||
|
one-sided communication techniques.
|
||||||
|
|
||||||
|
This package provides general tools (mpirun, mpiexec, etc.) and the
|
||||||
|
Module Component Architecture (MCA) base and plugins necessary for
|
||||||
|
running Open MPI/OpenSHMEM jobs.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{!?testsuite:1}
|
||||||
|
%package %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||||
|
Summary: OpenMPI runtime libraries for OpenMPI %{?with_hpc:HPC} version %{version}
|
||||||
|
Group: System/Libraries
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
%if 0%{?default_openmpi}
|
||||||
|
Provides: openmpi-libs = %{version}
|
||||||
|
%endif
|
||||||
|
%{?with_hpc:%hpc_requires}
|
||||||
|
|
||||||
|
%description %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||||
|
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||||
|
abstraction layer providing inter-process communication using
|
||||||
|
one-sided communication techniques.
|
||||||
|
|
||||||
|
This subpackage provides the OpenMPI shared libraries.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: SDK for openMPI %{?with_hpc:HPC} version %{version}
|
||||||
|
Group: Development/Libraries/Parallel
|
||||||
|
Requires: libibumad-devel
|
||||||
|
Requires: libibverbs-devel
|
||||||
|
%if %{without hpc}
|
||||||
|
Requires: libstdc++-devel
|
||||||
|
%if 0%{?default_openmpi}
|
||||||
|
Provides: openmpi-devel = %{version}
|
||||||
|
%endif
|
||||||
|
%else
|
||||||
|
%hpc_requires_devel
|
||||||
|
%endif
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||||
|
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||||
|
abstraction layer providing inter-process communication using
|
||||||
|
one-sided communication techniques.
|
||||||
|
|
||||||
|
This subpackage provides the development files for Open MPI/OpenSHMEM,
|
||||||
|
such as wrapper compilers and header files for MPI/OpenSHMEM
|
||||||
|
development.
|
||||||
|
|
||||||
|
%package docs
|
||||||
|
Summary: Documentation for Open MPI/SHMEM %{?with_hpc:HPC} version %{version}
|
||||||
|
Group: Development/Documentation
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description docs
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
OpenMPI also includes an implementation of the OpenSHMEM parallel
|
||||||
|
programming API, which is a Partitioned Global Address Space (PGAS)
|
||||||
|
abstraction layer providing inter-process communication using
|
||||||
|
one-sided communication techniques.
|
||||||
|
|
||||||
|
This subpackage provides the documentation for Open MPI/OpenSHMEM.
|
||||||
|
|
||||||
|
%package macros-devel
|
||||||
|
Summary: Macros for openMPI version %{version}
|
||||||
|
Group: Development/Libraries/Parallel
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
# Make sure no two openmpi macro file can be installed at once
|
||||||
|
Provides: %{pname}-macros-provider = %{version}
|
||||||
|
Conflicts: otherproviders(%{pname}-macros-provider)
|
||||||
|
# Conflict (without providing) with the older openmpi-hpc-macros-devel flag
|
||||||
|
# to avoid issue with older packages
|
||||||
|
Conflicts: otherproviders(%{pname}-hpc-macros-devel)
|
||||||
|
|
||||||
|
%if 0%{?default_openmpi}
|
||||||
|
Provides: openmpi-macros-devel = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description macros-devel
|
||||||
|
Macros for building RPM packages for OpenMPI version %{version}.
|
||||||
|
|
||||||
|
%if 0%{?build_static_devel}
|
||||||
|
%package devel-static
|
||||||
|
Summary: Static libraries for openMPI %{?with_hpc:HPC} version %{version}
|
||||||
|
Group: Development/Libraries/Parallel
|
||||||
|
Requires: %{name}-devel = %{version}
|
||||||
|
%if 0%{?default_openmpi}
|
||||||
|
Provides: openmpi-devel-static = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description devel-static
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
This RPM contains the static library files, which are packaged separately from
|
||||||
|
the dynamic library and headers.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%package -n %{pname}%{m_f_ver}-config
|
||||||
|
Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version %{version}
|
||||||
|
Group: Development/Libraries/Parallel
|
||||||
|
Provides: openmpi-runtime-config = %{version}
|
||||||
|
Conflicts: otherproviders(openmpi-runtime-config)
|
||||||
|
|
||||||
|
%description -n %{pname}%{m_f_ver}-config
|
||||||
|
OpenMPI is an implementation of the Message Passing Interface, a
|
||||||
|
standardized API typically used for parallel and/or distributed
|
||||||
|
computing. OpenMPI is the merged result of four prior implementations
|
||||||
|
where the team found for them to excel in one or more areas,
|
||||||
|
such as latency or throughput.
|
||||||
|
|
||||||
|
This RPM contains the configuration files for OpenMPI runtime (Version 1 or 2).
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with hpc}
|
||||||
|
%{hpc_master_package -L -a}
|
||||||
|
%{hpc_master_package -l}
|
||||||
|
%{hpc_master_package devel}
|
||||||
|
%{hpc_master_package docs}
|
||||||
|
%{hpc_master_package macros-devel}
|
||||||
|
%{hpc_master_package -a devel-static}
|
||||||
|
%endif # ?with_hpc
|
||||||
|
%endif # !testsuite
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Prepatory Section
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
%prep
|
||||||
|
echo FLAVOR %{flavor}
|
||||||
|
%if %{with hpc}
|
||||||
|
echo with HPC
|
||||||
|
%endif
|
||||||
|
%if %{without hpc}
|
||||||
|
echo without HPC
|
||||||
|
%endif
|
||||||
|
%setup -q -n openmpi-%{version}%{git_ver}
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4
|
||||||
|
%patch5
|
||||||
|
%patch7
|
||||||
|
%patch8
|
||||||
|
%patch9
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
cat > %{_sourcedir}/baselibs.conf <<EOF
|
||||||
|
openmpi%{m_f_ver}-libs
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
%patch6 -p1
|
||||||
|
# Live patch the VERSION file
|
||||||
|
sed -i -e 's/^greek=.*$/greek=%{git_ver}/' -e 's/^repo_rev=.*$/repo_rev=%{version}%{git_ver}/' \
|
||||||
|
-e 's/^date=.*$/date="OpenMPI %{version} Distribution for SUSE"/' VERSION
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Build Section
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
%build
|
||||||
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
|
export USER=OBS
|
||||||
|
export HOSTNAME=OBS
|
||||||
|
%{?with_hpc:%hpc_debug}
|
||||||
|
# To force rebuilding Makefile.in
|
||||||
|
rm -f ompi/debuggers/Makefile.in
|
||||||
|
#Remove bad +x rights on NEWS
|
||||||
|
chmod 644 NEWS
|
||||||
|
./autogen.sh
|
||||||
|
%if %{with hpc}
|
||||||
|
%{hpc_setup}
|
||||||
|
%{hpc_configure} \
|
||||||
|
%else
|
||||||
|
%{configure} \
|
||||||
|
--prefix="%{mpi_prefix}" \
|
||||||
|
--exec-prefix="%{mpi_prefix}" \
|
||||||
|
--bindir="%{mpi_bindir}" \
|
||||||
|
--datadir="%{mpi_datadir}" \
|
||||||
|
--includedir="%{mpi_includedir}" \
|
||||||
|
--libdir="%{mpi_libdir}" \
|
||||||
|
--mandir="%{mpi_mandir}" \
|
||||||
|
%endif
|
||||||
|
%{?build_static_devel:--enable-static} \
|
||||||
|
%{!?build_static_devel:--disable-static} \
|
||||||
|
--enable-builtin-atomics \
|
||||||
|
--with-libltdl=%{_prefix} \
|
||||||
|
--with-verbs \
|
||||||
|
--disable-wrapper-rpath \
|
||||||
|
%if 0%{?with_ucx}
|
||||||
|
--with-ucx \
|
||||||
|
--with-ucx-libdir=/usr/%_lib \
|
||||||
|
%endif
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
--with-psm \
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
--with-psm2 \
|
||||||
|
%endif
|
||||||
|
--with-threads \
|
||||||
|
--disable-silent-rules \
|
||||||
|
--enable-mpirun-prefix-by-default \
|
||||||
|
--with-package-string="Open MPI Distribution for SUSE"
|
||||||
|
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
|
%if 0%{?testsuite}
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
%install
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc README
|
||||||
|
%doc test/util/test-suite.log
|
||||||
|
|
||||||
|
%else # ?testsuite
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Install Section
|
||||||
|
#
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
%install
|
||||||
|
chmod a-x NEWS
|
||||||
|
%{?with_hpc:%{hpc_setup_compiler}}
|
||||||
|
make install DESTDIR="%buildroot"
|
||||||
|
|
||||||
|
for input in `find %{buildroot}/%{mpi_mandir} -type f -o -type l` ; do
|
||||||
|
if test -f "$input.gz"; then
|
||||||
|
#echo "Remove old file $input.gz"
|
||||||
|
rm -f "$input.gz"
|
||||||
|
fi
|
||||||
|
if test -L "$input"; then
|
||||||
|
link=`perl -e 'print readlink($ARGV[0]);' -- "$input"`
|
||||||
|
test -d "$link" && continue
|
||||||
|
test -d "%{buildroot}/$link" && continue
|
||||||
|
rm -f "$input"
|
||||||
|
ln -sf "$link.gz" "$input.gz"
|
||||||
|
else
|
||||||
|
gzip -nf9 "$input"
|
||||||
|
fi
|
||||||
|
ls -l "$input.gz"
|
||||||
|
done
|
||||||
|
|
||||||
|
# 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
|
||||||
|
##even with disable static this one gets generated
|
||||||
|
%{!?build_static_devel:rm -f %{buildroot}%{mpi_libdir}/libvt-pomp.a}
|
||||||
|
|
||||||
|
# GCC 5 builds the ignore-tkr extension and there is no way to
|
||||||
|
# turn that off
|
||||||
|
rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod
|
||||||
|
rm -f %{buildroot}%{mpi_datadir}/vampirtrace/config.log # differs between builds ; not needed
|
||||||
|
|
||||||
|
%fdupes %{buildroot}%{mpi_mandir}
|
||||||
|
%fdupes %{buildroot}%{mpi_datadir}
|
||||||
|
%fdupes %{buildroot}%{mpi_libdir}/pkgconfig
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
# make and install mpivars files
|
||||||
|
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE1} \
|
||||||
|
> %{buildroot}%{mpi_bindir}/mpivars.sh
|
||||||
|
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE2} \
|
||||||
|
> %{buildroot}%{mpi_bindir}/mpivars.csh
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/modules/gnu-openmpi
|
||||||
|
cat << EOF > %{buildroot}%{_datadir}/modules/gnu-openmpi/%{version}
|
||||||
|
#%%Module
|
||||||
|
proc ModulesHelp { } {
|
||||||
|
global dotversion
|
||||||
|
puts stderr "\tLoads the gnu - openmpi %{version} Environment"
|
||||||
|
}
|
||||||
|
|
||||||
|
module-whatis "Loads the gnu openmpi %{version} Environment."
|
||||||
|
conflict gnu-openmpi
|
||||||
|
prepend-path PATH %{mpi_bindir}
|
||||||
|
prepend-path INCLUDE %{mpi_includedir}
|
||||||
|
prepend-path INCLUDE %{mpi_libdir}
|
||||||
|
prepend-path MANPATH %{mpi_mandir}
|
||||||
|
prepend-path LD_LIBRARY_PATH %{mpi_libdir}
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_rpmmacrodir}
|
||||||
|
cat <<EOF >%{buildroot}%{_rpmmacrodir}/macros.openmpi
|
||||||
|
#
|
||||||
|
# openmpi
|
||||||
|
#
|
||||||
|
%openmpi_prefix %{mpi_prefix}
|
||||||
|
%setup_openmpi source %{mpi_bindir}/mpivars.sh
|
||||||
|
|
||||||
|
%openmpi_requires Requires: %{name}-libs
|
||||||
|
%openmpi_devel_requires Requires: %{name}-devel
|
||||||
|
|
||||||
|
EOF
|
||||||
|
%else
|
||||||
|
%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}
|
||||||
|
|
||||||
|
setenv MPI_DIR %{hpc_mpi_install_path}
|
||||||
|
prepend-path PATH %{hpc_bindir}
|
||||||
|
prepend-path MANPATH %{hpc_mandir}
|
||||||
|
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
||||||
|
prepend-path MODULEPATH %{hpc_modulepath}
|
||||||
|
%{hpc_modulefile_add_pkgconfig_path}
|
||||||
|
|
||||||
|
family "MPI"
|
||||||
|
EOF
|
||||||
|
cat <<EOF > %{buildroot}/%{mpi_bindir}/mpivars.sh
|
||||||
|
%hpc_setup_compiler
|
||||||
|
module load %{hpc_mpi_family}%{?pack_suff}/%{version}
|
||||||
|
EOF
|
||||||
|
sed -e "s/export/setenv/" -e "s/=/ /" \
|
||||||
|
%{buildroot}/%{mpi_bindir}/mpivars.sh > \
|
||||||
|
%{buildroot}/%{mpi_bindir}/mpivars.csh
|
||||||
|
mkdir -p %{buildroot}%{_rpmmacrodir}
|
||||||
|
cp %{S:3} %{buildroot}%{_rpmmacrodir}
|
||||||
|
|
||||||
|
# Drop the files that should go into %{pname}-config as we only package them
|
||||||
|
# in the non HPC build
|
||||||
|
rm -f %{buildroot}%{_sysconfdir}/openmpi-default-hostfile
|
||||||
|
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
|
||||||
|
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%post
|
||||||
|
# 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} \
|
||||||
|
--source-dir %{mpi_bindir} \
|
||||||
|
--yes
|
||||||
|
|
||||||
|
%preun
|
||||||
|
# Only unregister when uninstalling
|
||||||
|
if [ "$1" = "0" ]; then
|
||||||
|
/usr/bin/mpi-selector --unregister %{name} --yes
|
||||||
|
# Deregister the default if we are uninstalling it
|
||||||
|
if [ "$(/usr/bin/mpi-selector --system --query)" = "%{name}" ]; then
|
||||||
|
/usr/bin/mpi-selector --system --unset --yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post libs -p /sbin/ldconfig
|
||||||
|
%postun libs -p /sbin/ldconfig
|
||||||
|
%else #!?with_hpc
|
||||||
|
# make it default
|
||||||
|
%post -n lib%{name} -p /sbin/ldconfig
|
||||||
|
%postun -n lib%{name} -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%hpc_module_delete_if_default
|
||||||
|
%endif #!?with_hpc
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc NEWS README AUTHORS
|
||||||
|
%license LICENSE
|
||||||
|
%dir %{mpi_prefix}
|
||||||
|
%dir %{mpi_bindir}
|
||||||
|
%dir %{mpi_libdir}
|
||||||
|
%dir %{mpi_datadir}
|
||||||
|
%dir %{mpi_mandir}
|
||||||
|
%{mpi_bindir}/mpivars.csh
|
||||||
|
%{mpi_bindir}/mpivars.sh
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%dir %{_libdir}/mpi
|
||||||
|
%dir %{_libdir}/mpi/gcc
|
||||||
|
%dir %{_datadir}/modules/gnu-openmpi
|
||||||
|
%{_datadir}/modules/gnu-openmpi/%{version}
|
||||||
|
%else # with hpc
|
||||||
|
%hpc_mpi_dirs
|
||||||
|
%hpc_modules_files
|
||||||
|
%endif # with hpc
|
||||||
|
#
|
||||||
|
%if 0%{?suse_version} <= 1320
|
||||||
|
%dir %{mpi_datadir}/openmpi/doc
|
||||||
|
%{mpi_datadir}/openmpi/doc/COPYRIGHT-ptmalloc2.txt
|
||||||
|
%endif
|
||||||
|
#
|
||||||
|
%{mpi_bindir}/mpirun
|
||||||
|
%{mpi_bindir}/ompi-clean
|
||||||
|
%{mpi_bindir}/ompi-ps
|
||||||
|
%{mpi_bindir}/ompi-server
|
||||||
|
%{mpi_bindir}/ompi-top
|
||||||
|
%{mpi_bindir}/ompi_info
|
||||||
|
%{mpi_bindir}/orte-clean
|
||||||
|
%{mpi_bindir}/orte-dvm
|
||||||
|
%{mpi_bindir}/orte-info
|
||||||
|
%{mpi_bindir}/orte-ps
|
||||||
|
%{mpi_bindir}/orte-server
|
||||||
|
%{mpi_bindir}/orte-submit
|
||||||
|
%{mpi_bindir}/orte-top
|
||||||
|
%{mpi_bindir}/orted
|
||||||
|
%{mpi_bindir}/orterun
|
||||||
|
%{mpi_bindir}/oshmem_info
|
||||||
|
%{mpi_bindir}/oshrun
|
||||||
|
%{mpi_bindir}/shmemrun
|
||||||
|
|
||||||
|
%dir %{mpi_datadir}/openmpi
|
||||||
|
%dir %{mpi_datadir}/openmpi/amca-param-sets
|
||||||
|
%{mpi_datadir}/openmpi/amca-param-sets/btl-openib-benchmark
|
||||||
|
%{mpi_datadir}/openmpi/amca-param-sets/example.conf
|
||||||
|
%{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini
|
||||||
|
%{mpi_datadir}/openmpi/mca-coll-ml.config
|
||||||
|
|
||||||
|
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %mpi_prefix/
|
||||||
|
%dir %mpi_libdir/
|
||||||
|
%mpi_libdir/*.so.*
|
||||||
|
%{mpi_libdir}/openmpi/*.so
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%dir %{mpi_libdir}/openmpi
|
||||||
|
%dir %{mpi_libdir}/pkgconfig
|
||||||
|
%{mpi_includedir}
|
||||||
|
%{mpi_libdir}/*.so
|
||||||
|
%{mpi_libdir}/pkgconfig/*.pc
|
||||||
|
%{mpi_libdir}/*mpi*.mod
|
||||||
|
%{mpi_bindir}/mpiCC
|
||||||
|
%{mpi_bindir}/mpiCC-vt
|
||||||
|
%{mpi_bindir}/mpic++
|
||||||
|
%{mpi_bindir}/mpic++-vt
|
||||||
|
%{mpi_bindir}/mpicc
|
||||||
|
%{mpi_bindir}/mpicc-vt
|
||||||
|
%{mpi_bindir}/mpicxx
|
||||||
|
%{mpi_bindir}/mpicxx-vt
|
||||||
|
%{mpi_bindir}/mpiexec
|
||||||
|
%{mpi_bindir}/mpif77
|
||||||
|
%{mpi_bindir}/mpif77-vt
|
||||||
|
%{mpi_bindir}/mpif90
|
||||||
|
%{mpi_bindir}/mpif90-vt
|
||||||
|
%{mpi_bindir}/mpifort
|
||||||
|
%{mpi_bindir}/mpifort-vt
|
||||||
|
%{mpi_bindir}/opal_wrapper
|
||||||
|
%{mpi_bindir}/opari
|
||||||
|
%{mpi_bindir}/ortecc
|
||||||
|
%{mpi_bindir}/oshcc
|
||||||
|
%{mpi_bindir}/oshfort
|
||||||
|
%{mpi_bindir}/otfaux
|
||||||
|
%{mpi_bindir}/otfconfig
|
||||||
|
%{mpi_bindir}/otfinfo
|
||||||
|
%{mpi_bindir}/otfmerge
|
||||||
|
%{mpi_bindir}/otfmerge-mpi
|
||||||
|
%{mpi_bindir}/otfprint
|
||||||
|
%{mpi_bindir}/otfprofile
|
||||||
|
%{mpi_bindir}/otfprofile-mpi
|
||||||
|
%{mpi_bindir}/otfshrink
|
||||||
|
%{mpi_bindir}/otfcompress
|
||||||
|
%{mpi_bindir}/otfdecompress
|
||||||
|
%{mpi_bindir}/shmemcc
|
||||||
|
%{mpi_bindir}/shmemfort
|
||||||
|
%{mpi_bindir}/vtCC
|
||||||
|
%{mpi_bindir}/vtc++
|
||||||
|
%{mpi_bindir}/vtcc
|
||||||
|
%{mpi_bindir}/vtcxx
|
||||||
|
%{mpi_bindir}/vtf77
|
||||||
|
%{mpi_bindir}/vtf90
|
||||||
|
%{mpi_bindir}/vtfilter
|
||||||
|
%{mpi_bindir}/vtfilter-mpi
|
||||||
|
%{mpi_bindir}/vtfiltergen
|
||||||
|
%{mpi_bindir}/vtfiltergen-mpi
|
||||||
|
%{mpi_bindir}/vtfort
|
||||||
|
%{mpi_bindir}/vtrun
|
||||||
|
%{mpi_bindir}/vtunify
|
||||||
|
%{mpi_bindir}/vtunify-mpi
|
||||||
|
%{mpi_bindir}/vtwrapper
|
||||||
|
#
|
||||||
|
%{mpi_helpdir}/*.txt
|
||||||
|
%{mpi_helpdir}/openmpi-valgrind.supp
|
||||||
|
%dir %{mpi_datadir}/vampirtrace
|
||||||
|
%{mpi_datadir}/vampirtrace/libtool
|
||||||
|
%{mpi_datadir}/vampirtrace/*.h
|
||||||
|
%{mpi_datadir}/vampirtrace/*.txt
|
||||||
|
%{mpi_datadir}/vampirtrace/*.SPEC
|
||||||
|
|
||||||
|
%files docs
|
||||||
|
%defattr(-, root, root, -)
|
||||||
|
%{mpi_mandir}
|
||||||
|
%dir %{mpi_datadir}/vampirtrace
|
||||||
|
%{mpi_datadir}/vampirtrace/doc
|
||||||
|
|
||||||
|
%files macros-devel
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%if %{with hpc}
|
||||||
|
%config %{_rpmmacrodir}/macros.hpc-openmpi
|
||||||
|
%else
|
||||||
|
%config %{_rpmmacrodir}/macros.openmpi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_static_devel}
|
||||||
|
%files devel-static
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%{mpi_libdir}/*.la
|
||||||
|
%{mpi_libdir}/openmpi/*.la
|
||||||
|
%{mpi_libdir}/*.a
|
||||||
|
%{mpi_libdir}/openmpi/*.a
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{without hpc}
|
||||||
|
%files -n %{pname}%{m_f_ver}-config
|
||||||
|
%config %{_sysconfdir}/openmpi-default-hostfile
|
||||||
|
%config %{_sysconfdir}/openmpi-mca-params.conf
|
||||||
|
%{_sysconfdir}/openmpi-totalview.tcl
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%endif # !?testsuite
|
||||||
|
|
||||||
|
%changelog
|
142
reproducible.patch
Normal file
142
reproducible.patch
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||||
|
Date: 2017-06-29
|
||||||
|
|
||||||
|
make package build reproducible
|
||||||
|
by sorting entries
|
||||||
|
and using fixed date + hostname
|
||||||
|
|
||||||
|
https://github.com/open-mpi/ompi/issues/3759
|
||||||
|
|
||||||
|
Index: openmpi-1.10.7/autogen.pl
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/autogen.pl
|
||||||
|
+++ openmpi-1.10.7/autogen.pl
|
||||||
|
@@ -83,7 +83,7 @@ if ($^O eq "solaris") {
|
||||||
|
}
|
||||||
|
|
||||||
|
$username = getpwuid($>);
|
||||||
|
-$full_hostname = `hostname`;
|
||||||
|
+$full_hostname = "reproduciblehostname";
|
||||||
|
chomp($full_hostname);
|
||||||
|
$hostname = $full_hostname;
|
||||||
|
$hostname =~ s/^([\w\-]+)\..+/\1/;
|
||||||
|
@@ -314,7 +314,7 @@ sub mca_process_framework {
|
||||||
|
$mca_found->{$pname}->{$framework}->{found} = 1;
|
||||||
|
opendir(DIR, $dir) ||
|
||||||
|
my_die "Can't open $dir directory";
|
||||||
|
- foreach my $d (readdir(DIR)) {
|
||||||
|
+ foreach my $d (sort(readdir(DIR))) {
|
||||||
|
# Skip any non-directory, "base", or any dir that
|
||||||
|
# begins with "."
|
||||||
|
next
|
||||||
|
@@ -609,7 +609,7 @@ sub mpiext_run_global {
|
||||||
|
my $dir = "$topdir/$ext_prefix";
|
||||||
|
opendir(DIR, $dir) ||
|
||||||
|
my_die "Can't open $dir directory";
|
||||||
|
- foreach my $d (readdir(DIR)) {
|
||||||
|
+ foreach my $d (sort(readdir(DIR))) {
|
||||||
|
# Skip any non-directory, "base", or any dir that begins with "."
|
||||||
|
next
|
||||||
|
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||||
|
@@ -696,7 +696,7 @@ sub mpicontrib_run_global {
|
||||||
|
my $dir = "$topdir/$contrib_prefix";
|
||||||
|
opendir(DIR, $dir) ||
|
||||||
|
my_die "Can't open $dir directory";
|
||||||
|
- foreach my $d (readdir(DIR)) {
|
||||||
|
+ foreach my $d (sort(readdir(DIR))) {
|
||||||
|
# Skip any non-directory, "base", or any dir that begins with "."
|
||||||
|
next
|
||||||
|
if (! -d "$dir/$d" || $d eq "base" || substr($d, 0, 1) eq ".");
|
||||||
|
@@ -1105,7 +1105,7 @@ if ($no_ompi_arg == 1 && $no_orte_arg ==
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
-$full_hostname = `hostname`;
|
||||||
|
+$full_hostname = "reproduciblehostname";
|
||||||
|
chomp($full_hostname);
|
||||||
|
|
||||||
|
$m4 = "dnl
|
||||||
|
Index: openmpi-1.10.7/config/opal_functions.m4
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/config/opal_functions.m4
|
||||||
|
+++ openmpi-1.10.7/config/opal_functions.m4
|
||||||
|
@@ -79,8 +79,8 @@ EOF
|
||||||
|
#
|
||||||
|
|
||||||
|
OPAL_CONFIGURE_USER="`whoami`"
|
||||||
|
-OPAL_CONFIGURE_HOST="`hostname | head -n 1`"
|
||||||
|
-OPAL_CONFIGURE_DATE="`date`"
|
||||||
|
+OPAL_CONFIGURE_HOST="reproduciblehostname"
|
||||||
|
+OPAL_CONFIGURE_DATE="reproducibledate"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Save these details so that they can be used in ompi_info later
|
||||||
|
@@ -99,8 +99,8 @@ AC_DEFUN([OPAL_BASIC_SETUP],[
|
||||||
|
#
|
||||||
|
|
||||||
|
OPAL_CONFIGURE_USER="`whoami`"
|
||||||
|
-OPAL_CONFIGURE_HOST="`hostname | head -n 1`"
|
||||||
|
-OPAL_CONFIGURE_DATE="`date`"
|
||||||
|
+OPAL_CONFIGURE_HOST="reproduciblehostname"
|
||||||
|
+OPAL_CONFIGURE_DATE="reproducibledate"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Make automake clean emacs ~ files for "make clean"
|
||||||
|
Index: openmpi-1.10.7/config/opal_get_version.m4
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/config/opal_get_version.m4
|
||||||
|
+++ openmpi-1.10.7/config/opal_get_version.m4
|
||||||
|
@@ -91,7 +91,7 @@ m4_define([OPAL_GET_VERSION],[
|
||||||
|
$2_REPO_REV=`git describe --tags --always`
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
- $2_REPO_REV="date`date '+%Y-%m-%d'`"
|
||||||
|
+ $2_REPO_REV="date"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
Index: openmpi-1.10.7/ompi/tools/ompi_info/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/ompi/tools/ompi_info/Makefile.am
|
||||||
|
+++ openmpi-1.10.7/ompi/tools/ompi_info/Makefile.am
|
||||||
|
@@ -25,8 +25,8 @@ AM_CFLAGS = \
|
||||||
|
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||||
|
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||||
|
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||||
|
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||||
|
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||||
|
+ -DOMPI_BUILD_HOST="\"reproduciblehostname\"" \
|
||||||
|
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||||
|
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
||||||
|
Index: openmpi-1.10.7/orte/tools/orte-info/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/orte/tools/orte-info/Makefile.am
|
||||||
|
+++ openmpi-1.10.7/orte/tools/orte-info/Makefile.am
|
||||||
|
@@ -23,8 +23,8 @@ AM_CFLAGS = \
|
||||||
|
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||||
|
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||||
|
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||||
|
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||||
|
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||||
|
+ -DOMPI_BUILD_HOST="\"reproduciblehostname\"" \
|
||||||
|
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||||
|
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
||||||
|
Index: openmpi-1.10.7/oshmem/tools/oshmem_info/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- openmpi-1.10.7.orig/oshmem/tools/oshmem_info/Makefile.am
|
||||||
|
+++ openmpi-1.10.7/oshmem/tools/oshmem_info/Makefile.am
|
||||||
|
@@ -14,8 +14,8 @@ AM_CPPFLAGS = \
|
||||||
|
-DOPAL_CONFIGURE_HOST="\"@OPAL_CONFIGURE_HOST@\"" \
|
||||||
|
-DOPAL_CONFIGURE_DATE="\"@OPAL_CONFIGURE_DATE@\"" \
|
||||||
|
-DOMPI_BUILD_USER="\"$$USER\"" \
|
||||||
|
- -DOMPI_BUILD_HOST="\"`hostname`\"" \
|
||||||
|
- -DOMPI_BUILD_DATE="\"`date`\"" \
|
||||||
|
+ -DOMPI_BUILD_HOST="\"reproduciblehostname\"" \
|
||||||
|
+ -DOMPI_BUILD_DATE="\"reproducibledate\"" \
|
||||||
|
-DOMPI_BUILD_CFLAGS="\"@CFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \
|
||||||
|
-DOMPI_BUILD_CXXFLAGS="\"@CXXFLAGS@\"" \
|
Loading…
x
Reference in New Issue
Block a user