forked from pool/openmpi4
Accepting request 1190305 from home:jamborm:gcc14test-m
- Add openmpi4-C99.diff to fix the most egregious type violations that not only prevent building the standard flavor with GCC 14 opn i586 but that are just bugs too. If the request looks OK, please forward it to Factory soon so that we can switch the default compiler. Thanks! OBS-URL: https://build.opensuse.org/request/show/1190305 OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=36
This commit is contained in:
commit
ef280a72e3
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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
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">439b23db6288f0370f6fcc80c8c0a06ad86d6873</param>
|
||||
</service>
|
||||
<service name="recompress" mode="disabled">
|
||||
<param name="file">openmpi*.tar</param>
|
||||
<param name="compression">bz2</param>
|
||||
</service>
|
||||
</services>
|
39
btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Normal file
39
btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Normal file
@ -0,0 +1,39 @@
|
||||
commit 034e90d7efb94011d7018266586588801c3afdbc
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Tue Sep 13 15:48:03 2022 +0200
|
||||
|
||||
btl: openib: Add VF support for ConnectX 4, 5 and 6
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
index c46c303a35d5..b9949de235b8 100644
|
||||
--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
+++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
|
||||
@@ -174,7 +174,7 @@ max_inline_data = 256
|
||||
|
||||
[Mellanox ConnectX4]
|
||||
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
-vendor_part_id = 4115,4117
|
||||
+vendor_part_id = 4115,4116,4117,4118
|
||||
use_eager_rdma = 1
|
||||
mtu = 4096
|
||||
max_inline_data = 256
|
||||
@@ -183,7 +183,7 @@ max_inline_data = 256
|
||||
|
||||
[Mellanox ConnectX5]
|
||||
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
-vendor_part_id = 4119,4121
|
||||
+vendor_part_id = 4119,4120,4121,4122
|
||||
use_eager_rdma = 1
|
||||
mtu = 4096
|
||||
max_inline_data = 256
|
||||
@@ -192,7 +192,7 @@ max_inline_data = 256
|
||||
|
||||
[Mellanox ConnectX6]
|
||||
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
|
||||
-vendor_part_id = 4123
|
||||
+vendor_part_id = 4123,4124
|
||||
use_eager_rdma = 1
|
||||
mtu = 4096
|
||||
max_inline_data = 256
|
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:3}} \
|
||||
%{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
|
BIN
openmpi-4.1.6.0.439b23db6288.tar.bz2
(Stored with Git LFS)
Normal file
BIN
openmpi-4.1.6.0.439b23db6288.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
96
openmpi4-C99.diff
Normal file
96
openmpi4-C99.diff
Normal file
@ -0,0 +1,96 @@
|
||||
--- ./opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c~ 2023-09-25 20:20:09.000000000 +0000
|
||||
+++ ./opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c 2024-07-29 16:12:38.161908410 +0000
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
#if HWLOC_API_VERSION >= 0x20000
|
||||
static size_t shmemsize = 0;
|
||||
-static size_t shmemaddr;
|
||||
+static uintptr_t shmemaddr;
|
||||
static char *shmemfile = NULL;
|
||||
static int shmemfd = -1;
|
||||
|
||||
@@ -58,10 +58,10 @@
|
||||
pmix_hwloc_vm_map_kind_t *kindp);
|
||||
static int use_hole(unsigned long holebegin,
|
||||
unsigned long holesize,
|
||||
- unsigned long *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
unsigned long size);
|
||||
static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
|
||||
- size_t *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
size_t size);
|
||||
static int enough_space(const char *filename,
|
||||
size_t space_req,
|
||||
@@ -584,7 +584,7 @@
|
||||
|
||||
static int use_hole(unsigned long holebegin,
|
||||
unsigned long holesize,
|
||||
- unsigned long *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
unsigned long size)
|
||||
{
|
||||
unsigned long aligned;
|
||||
@@ -615,7 +615,7 @@
|
||||
}
|
||||
|
||||
static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
|
||||
- size_t *addrp, size_t size)
|
||||
+ uintptr_t *addrp, size_t size)
|
||||
{
|
||||
unsigned long biggestbegin = 0;
|
||||
unsigned long biggestsize = 0;
|
||||
--- ./orte/mca/rtc/hwloc/rtc_hwloc.c~ 2023-09-25 20:20:09.000000000 +0000
|
||||
+++ ./orte/mca/rtc/hwloc/rtc_hwloc.c 2024-07-26 16:29:16.763923042 +0000
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
#if HWLOC_API_VERSION >= 0x20000
|
||||
static size_t shmemsize = 0;
|
||||
-static size_t shmemaddr;
|
||||
+static uintptr_t shmemaddr;
|
||||
static char *shmemfile = NULL;
|
||||
static int shmemfd = -1;
|
||||
|
||||
@@ -77,10 +77,10 @@
|
||||
orte_rtc_hwloc_vm_map_kind_t *kindp);
|
||||
static int use_hole(unsigned long holebegin,
|
||||
unsigned long holesize,
|
||||
- unsigned long *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
unsigned long size);
|
||||
static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
|
||||
- size_t *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
size_t size);
|
||||
static int enough_space(const char *filename,
|
||||
size_t space_req,
|
||||
@@ -524,7 +524,7 @@
|
||||
|
||||
static int use_hole(unsigned long holebegin,
|
||||
unsigned long holesize,
|
||||
- unsigned long *addrp,
|
||||
+ uintptr_t *addrp,
|
||||
unsigned long size)
|
||||
{
|
||||
unsigned long aligned;
|
||||
@@ -576,7 +576,7 @@
|
||||
}
|
||||
|
||||
static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
|
||||
- size_t *addrp, size_t size)
|
||||
+ uintptr_t *addrp, size_t size)
|
||||
{
|
||||
unsigned long biggestbegin = 0;
|
||||
unsigned long biggestsize = 0;
|
||||
--- ./ompi/mca/io/romio321/romio/adio/include/adio.h~ 2023-09-25 20:20:09.000000000 +0000
|
||||
+++ ./ompi/mca/io/romio321/romio/adio/include/adio.h 2024-07-29 15:40:10.597565427 +0000
|
||||
@@ -97,6 +97,9 @@
|
||||
#ifdef MPI_OFFSET_IS_INT
|
||||
typedef int ADIO_Offset;
|
||||
# define ADIO_OFFSET MPI_INT
|
||||
+#elif __SIZEOF_SIZE_T__ == 4
|
||||
+ typedef long ADIO_Offset;
|
||||
+# define ADIO_OFFSET MPI_LONG
|
||||
#elif defined(HAVE_LONG_LONG_64)
|
||||
typedef long long ADIO_Offset;
|
||||
# ifdef HAVE_MPI_LONG_LONG_INT
|
9
openmpi4-rpmlintrc
Normal file
9
openmpi4-rpmlintrc
Normal file
@ -0,0 +1,9 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
addFilter("openmpi.*-config.* useless-provides")
|
||||
addFilter("openmpi.*-devel.* shared-lib-calls-exit")
|
||||
addFilter("openmpi.*-libs.* rpath-in-buildconfig")
|
||||
addFilter("openmpi.*-libs.* shared-lib-calls-exit")
|
||||
addFilter("openmpi.*-libs.* useless-provides")
|
||||
addFilter("libopenmpi.* shlib-policy-name-error")
|
372
openmpi4.changes
Normal file
372
openmpi4.changes
Normal file
@ -0,0 +1,372 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 29 16:40:16 UTC 2024 - Martin Jambor <mjambor@suse.com>
|
||||
|
||||
- Add openmpi4-C99.diff to fix the most egregious type violations that
|
||||
not only prevent building the standard flavor with GCC 14 opn i586
|
||||
but that are just bugs too.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 25 13:24:03 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Disable 32b builds of hpc flavours
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 26 12:47:01 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Use %autosetup macro. Allows to eliminate the usage of deprecated
|
||||
PatchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 10 09:44:40 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Drop %vers macro so that the Version tag can be parsed more easily
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 2 07:35:01 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Update to 4.1.6:
|
||||
- Update embedded PMIx to 3.2.5.
|
||||
- Fix issue with buffered sends and MTL-based interfaces (Libfabric,
|
||||
PSM, Portals).
|
||||
- Add missing MPI_F_STATUS_SIZE to mpi.h.
|
||||
- Update Fortran mpi module configure check to be more correct.
|
||||
- Update to properly handle PMIx v>=4.2.3.
|
||||
- Fix minor issues and add some minor performance optimizations with
|
||||
OFI support.
|
||||
- Support the "striping_factor" and "striping_unit" MPI_Info names
|
||||
recomended by the MPI standard for parallel IO.
|
||||
- Fixed some minor issues with UCX support.
|
||||
- Minor optimization for 0-byte MPI_Alltoallw (i.e., make it a no-op).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 7 17:02:04 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Drop support for TrueScale (bsc#1212146)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 13:04:21 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Update to 4.1.5:
|
||||
- Fix crash in one -sided applications for certain process layouts.
|
||||
- Update embedded OpenPMIx to version 3.2.4
|
||||
- Backport patches to Libevent for CVE -2016 -10195, CVE -2016 -10196, and
|
||||
CVE -2016 -10197. Note that Open MPI's internal libevent does not
|
||||
use the impacted portions of the Libevent code base.
|
||||
- SHMEM improvements:
|
||||
- Fix initializer bugs in SHMEM interface.
|
||||
- Fix unsigned type comparisons generating warnings.
|
||||
- Fix use after clear issue in shmem_ds_reset.
|
||||
- UCX improvements
|
||||
- Fix memory registration bug that could occur when UCX was built
|
||||
but not selected.
|
||||
- Reduce overhead of add_procs with intercommunicators.
|
||||
- Enable multi_send_nb by default.
|
||||
- Call opal_progress while waiting for a UCX fence to complete.
|
||||
- Fix data corruption bug in osc/rdma component.
|
||||
- Fix overflow bug in alltoall collective
|
||||
- Fix crash when displaying topology.
|
||||
- Add some MPI_F_XXX constants that were missing from mpi.h.
|
||||
- coll/ucc bug fixes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 23 10:24:16 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch
|
||||
by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 8 09:32:41 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Enable libfabric on all arch
|
||||
- Switch to external libevent for all flavors
|
||||
- Switch to external hwloc and PMIx for HPC builds
|
||||
- Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages
|
||||
- Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support
|
||||
ConnectX 5 and 6 VF
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 3 08:18:34 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 4.1.4:
|
||||
* Fix possible length integer overflow in numerous non-blocking collective
|
||||
operations.
|
||||
* Fix segmentation fault in UCX if MPI Tool interface is finalized before
|
||||
MPI_Init is called.
|
||||
* Remove /usr/bin/python dependency in configure.
|
||||
* Fix OMPIO issue with long double etypes.
|
||||
* Update treematch topology component to fix numerous correctness issues.
|
||||
* Fix memory leak in UCX MCA parameter registration.
|
||||
* Fix long operation closing file descriptors on non-Linux systems that
|
||||
can appear as a hang to users.
|
||||
* Fix for attribute handling on GCC 11 due to pointer aliasing.
|
||||
* Fix multithreaded race in UCX PML's datatype handling.
|
||||
* Fix a correctness issue in CUDA Reduce algorithm.
|
||||
* Fix compilation issue with CUDA GPUDirect RDMA support.
|
||||
* Fix to make shmem_calloc(..., 0) conform to the OpenSHMEM specification.
|
||||
* Add UCC collectives component.
|
||||
* Fix divide by zero issue in OMPI IO component.
|
||||
* Fix compile issue with libnl when not in standard search locations.
|
||||
* Fixed a seg fault in the smcuda BTL. Thanks to Moritz Kreutzer and
|
||||
@Stadik for reporting the issue.
|
||||
* Added support for ELEMENTAL to the MPI handle comparison functions
|
||||
in the mpi_f08 module. Thanks to Salvatore Filippone for raising
|
||||
the issue.
|
||||
* Minor datatype performance improvements in the CUDA-based code paths.
|
||||
* Fix MPI_ALLTOALLV when used with MPI_IN_PLACE.
|
||||
* Fix MPI_BOTTOM handling for non-blocking collectives. Thanks to
|
||||
Lisandro Dalcin for reporting the problem.
|
||||
* Enable OPAL memory hooks by default for UCX.
|
||||
* Many compiler warnings fixes, particularly for newer versions of
|
||||
GCC.
|
||||
* Fix intercommunicator overflow with large payload collectives. Also
|
||||
fixed MPI_REDUCE_SCATTER_BLOCK for similar issues with large payload
|
||||
collectives.
|
||||
* Back-port ROMIO 3.3 fix to use stat64() instead of stat() on GPFS.
|
||||
* Fixed several non-blocking MPI collectives to not round fractions
|
||||
based on float precision.
|
||||
* Fix compile failure for --enable-heterogeneous. Also updated the
|
||||
README to clarify that --enable-heterogeneous is functional, but
|
||||
still not recomended for most environments.
|
||||
* Minor fixes to OMPIO, including:
|
||||
- Fixing the open behavior of shared memory shared file pointers.
|
||||
Thanks to Axel Huebl for reporting the issue
|
||||
- Fixes to clean up lockfiles when closing files. Thanks to Eric
|
||||
Chamberland for reporting the issue.
|
||||
* Update LSF configure failure output to be more clear (e.g., on RHEL
|
||||
platforms).
|
||||
* Update if_[in|ex]clude behavior in btl_tcp and oob_tcp to select
|
||||
*all* interfaces that fall within the specified subnet range.
|
||||
* ROMIO portability fix for OpenBSD
|
||||
* Fix handling of MPI_IN_PLACE with MPI_ALLTOALLW and improve performance
|
||||
of MPI_ALLTOALL and MPI_ALLTOALLV for MPI_IN_PLACE.
|
||||
* Fix one-sided issue with empty groups in Post-Start-Wait-Complete
|
||||
synchronization mode.
|
||||
* Fix Fortran status returns in certain use cases involving
|
||||
Generalized Requests
|
||||
* Romio datatype bug fixes.
|
||||
* Fix oshmem_shmem_finalize() when main() returns non-zero value.
|
||||
* Fix wrong affinity under LSF with the membind option.
|
||||
* Fix count==0 cases in MPI_REDUCE and MPI_IREDUCE.
|
||||
* Fix ssh launching on Bourne-flavored shells when the user has "set
|
||||
-u" set in their shell startup files.
|
||||
* Correctly process 0 slots with the mpirun --host option.
|
||||
* Ensure to unlink and rebind socket when the Open MPI session
|
||||
directory already exists.
|
||||
* Fix a segv in mpirun --disable-dissable-map.
|
||||
* Fix a potential hang in the memory hook handling.
|
||||
* Slight performance improvement in MPI_WAITALL when running in
|
||||
MPI_THREAD_MULTIPLE.
|
||||
* Fix hcoll datatype mapping and rooted operation behavior.
|
||||
* Correct some operations modifying MPI_Status.MPI_ERROR when it is
|
||||
disallowed by the MPI standard.
|
||||
* UCX updates:
|
||||
- Fix datatype reference count issues.
|
||||
- Detach dynamic window memory when freeing a window.
|
||||
- Fix memory leak in datatype handling.
|
||||
* Fix various atomic operations issues.
|
||||
* mpirun: try to set the curses winsize to the pty of the spawned
|
||||
task. Thanks to Stack Overflow user @Seriously for reporting the
|
||||
issue.
|
||||
* PMIx updates:
|
||||
- Fix compatibility with external PMIx v4.x installations.
|
||||
- Fix handling of PMIx v3.x compiler/linker flags. Thanks to Erik
|
||||
Schnetter for reporting the issue.
|
||||
- Skip SLURM-provided PMIx detection when appropriate. Thanks to
|
||||
Alexander Grund for reporting the issue.
|
||||
* Fix handling by C++ compilers when they #include the STL "<version>"
|
||||
header file, which ends up including Open MPI's text VERSION file
|
||||
(which is not C code). Thanks to @srpgilles for reporting the
|
||||
issue.
|
||||
* Fix MPI_Op support for MPI_LONG.
|
||||
* Make the MPI C++ bindings library (libmpi_cxx) explicitly depend on
|
||||
the OPAL internal library (libopen-pal). Thanks to Ye Luo for
|
||||
reporting the issue.
|
||||
* Fix configure handling of "--with-libevent=/usr".
|
||||
* Fix memory leak when opening Lustre files. Thanks to Bert Wesarg
|
||||
for submitting the fix.
|
||||
* Fix MPI_SENDRECV_REPLACE to correctly process datatype errors.
|
||||
Thanks to Lisandro Dalcin for reporting the issue.
|
||||
* Fix MPI_SENDRECV_REPLACE to correctly handle large data. Thanks
|
||||
Jakub Benda for reporting this issue and suggesting a fix.
|
||||
* Add workaround for TCP "dropped connection" errors to drastically
|
||||
reduce the possibility of this happening.
|
||||
* OMPIO updates:
|
||||
- Fix handling when AMODE is not set. Thanks to Rainer Keller for
|
||||
reporting the issue and supplying the fix.
|
||||
- Fix FBTL "posix" component linking issue. Thanks for Honggang Li
|
||||
for reporting the issue.
|
||||
- Fixed segv with MPI_FILE_GET_BYTE_OFFSET on 0-sized file view.
|
||||
- Thanks to GitHub user @shanedsnyder for submitting the issue.
|
||||
* OFI updates:
|
||||
- Multi-plane / Multi-Nic nic selection cleanups
|
||||
- Add support for exporting Open MPI memory monitors into
|
||||
Libfabric.
|
||||
- Ensure that Cisco usNIC devices are never selected by the OFI
|
||||
MTL.
|
||||
- Fix buffer overflow in OFI networking setup. Thanks to Alexander
|
||||
Grund for reporting the issue and supplying the fix.
|
||||
* Fix SSEND on tag matching networks.
|
||||
* Fix error handling in several MPI collectives.
|
||||
* Fix the ordering of MPI_COMM_SPLIT_TYPE. Thanks to Wolfgang
|
||||
Bangerth for raising the issue.
|
||||
* No longer install the orted-mpir library (it's an internal / Libtool
|
||||
convenience library). Thanks to Andrew Hesford for the fix.
|
||||
* PSM2 updates:
|
||||
- Allow advanced users to disable PSM2 version checking.
|
||||
- Fix to allow non-default installation locations of psm2.h.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 28 11:08:54 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- openmpi4 is now the default openmpi for releases > 15.3
|
||||
- Add orted-mpir-add-version-to-shared-library.patch to fix unversionned library
|
||||
- Change RPM macros install path to %{_rpmmacrodir}
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 28 09:24:33 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to version 4.1.1
|
||||
- Fix a number of datatype issues, including an issue with
|
||||
improper handling of partial datatypes that could lead to
|
||||
an unexpected application failure.
|
||||
- Change UCX PML to not warn about MPI_Request leaks during
|
||||
MPI_FINALIZE by default. The old behavior can be restored with
|
||||
the mca_pml_ucx_request_leak_check MCA parameter.
|
||||
- Reverted temporary solution that worked around launch issues in
|
||||
SLURM v20.11.{0,1,2}. SchedMD encourages users to avoid these
|
||||
versions and to upgrade to v20.11.3 or newer.
|
||||
- Updated PMIx to v3.2.2.
|
||||
- Disabled gcc built-in atomics by default on aarch64 platforms.
|
||||
- Disabled UCX PML when UCX v1.8.0 is detected. UCX version 1.8.0 has a bug that
|
||||
may cause data corruption when its TCP transport is used in conjunction with
|
||||
the shared memory transport. UCX versions prior to v1.8.0 are not affected by
|
||||
this issue. Thanks to @ksiazekm for reporting the issue.
|
||||
- Fixed detection of available UCX transports/devices to better inform PML
|
||||
prioritization.
|
||||
- Fixed SLURM support to mark ORTE daemons as non-MPI tasks.
|
||||
- Improved AVX detection to more accurately detect supported
|
||||
platforms. Also improved the generated AVX code, and switched to
|
||||
using word-based MCA params for the op/avx component (vs. numeric
|
||||
big flags).
|
||||
- Improved OFI compatibility support and fixed memory leaks in error
|
||||
handling paths.
|
||||
- Improved HAN collectives with support for Barrier and Scatter. Thanks
|
||||
to @EmmanuelBRELLE for these changes and the relevant bug fixes.
|
||||
- Fixed MPI debugger support (i.e., the MPIR_Breakpoint() symbol).
|
||||
Thanks to @louisespellacy-arm for reporting the issue.
|
||||
- Fixed ORTE bug that prevented debuggers from reading MPIR_Proctable.
|
||||
- Removed PML uniformity check from the UCX PML to address performance
|
||||
regression.
|
||||
- Fixed MPI_Init_thread(3) statement about C++ binding and update
|
||||
references about MPI_THREAD_MULTIPLE. Thanks to Andreas Lösel for
|
||||
bringing the outdated docs to our attention.
|
||||
- Added fence_nb to Flux PMIx support to address segmentation faults.
|
||||
- Ensured progress of AIO requests in the POSIX FBTL component to
|
||||
prevent exceeding maximum number of pending requests on MacOS.
|
||||
- Used OPAL's mutli-thread support in the orted to leverage atomic
|
||||
operations for object refcounting.
|
||||
- Fixed segv when launching with static TCP ports.
|
||||
- Fixed --debug-daemons mpirun CLI option.
|
||||
- Fixed bug where mpirun did not honor --host in a managed job
|
||||
allocation.
|
||||
- Made a managed allocation filter a hostfile/hostlist.
|
||||
- Fixed bug to marked a generalized request as pending once initiated.
|
||||
- Fixed external PMIx v4.x check.
|
||||
- Fixed OSHMEM build with `--enable-mem-debug`.
|
||||
- Fixed a performance regression observed with older versions of GCC when
|
||||
__ATOMIC_SEQ_CST is used. Thanks to @BiplabRaut for reporting the issue.
|
||||
- Fixed buffer allocation bug in the binomial tree scatter algorithm when
|
||||
non-contiguous datatypes are used. Thanks to @sadcat11 for reporting the issue.
|
||||
- Fixed bugs related to the accumulate and atomics functionality in the
|
||||
osc/rdma component.
|
||||
- Fixed race condition in MPI group operations observed with
|
||||
MPI_THREAD_MULTIPLE threading level.
|
||||
- Fixed a deadlock in the TCP BTL's connection matching logic.
|
||||
- Fixed pml/ob1 compilation error when CUDA support is enabled.
|
||||
- Fixed a build issue with Lustre caused by unnecessary header includes.
|
||||
- Fixed a build issue with IMB LSF workload manager.
|
||||
- Fixed linker error with UCX SPML.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 24 08:01:35 UTC 2021 - Egbert Eich <eich@suse.com>
|
||||
|
||||
- Update to version 4.1.0
|
||||
* collectives: Add HAN and ADAPT adaptive collectives components.
|
||||
Both components are off by default and can be enabled by specifying
|
||||
"mpirun --mca coll_adapt_priority 100 --mca coll_han_priority 100 ...".
|
||||
We intend to enable both by default in Open MPI 5.0.
|
||||
* OMPIO is now the default for MPI-IO on all filesystems, including
|
||||
Lustre (prior to this, ROMIO was the default for Lustre). Many
|
||||
thanks to Mark Dixon for identifying MPI I/O issues and providing
|
||||
access to Lustre systems for testing.
|
||||
* Minor MPI one-sided RDMA performance improvements.
|
||||
* Fix hcoll MPI_SCATTERV with MPI_IN_PLACE.
|
||||
* Add AVX support for MPI collectives.
|
||||
* Updates to mpirun(1) about "slots" and PE=x values.
|
||||
* Fix buffer allocation for large environment variables. Thanks to
|
||||
@zrss for reporting the issue.
|
||||
* Upgrade the embedded OpenPMIx to v3.2.2.
|
||||
* Fix issue with extra-long values in MCA files. Thanks to GitHub
|
||||
user @zrss for bringing the issue to our attention.
|
||||
* UCX: Fix zero-sized datatype transfers.
|
||||
* Fix --cpu-list for non-uniform modes.
|
||||
* Fix issue in PMIx callback caused by missing memory barrier on Arm platforms.
|
||||
* OFI MTL: Various bug fixes.
|
||||
* Fixed issue where MPI_TYPE_CREATE_RESIZED would create a datatype
|
||||
with unexpected extent on oddly-aligned datatypes.
|
||||
* collectives: Adjust default tuning thresholds for many collective
|
||||
algorithms
|
||||
* runtime: fix situation where rank-by argument does not work
|
||||
* Portals4: Clean up error handling corner cases
|
||||
* runtime: Remove --enable-install-libpmix option, which has not
|
||||
worked since it was added
|
||||
* UCX: Allow UCX 1.8 to be used with the btl uct
|
||||
* UCX: Replace usage of the deprecated NB API of UCX with NBX
|
||||
* OMPIO: Add support for the IME file system
|
||||
* OFI/libfabric: Added support for multiple NICs
|
||||
* OFI/libfabric: Added support for Scalable Endpoints
|
||||
* OFI/libfabric: Added btl for one-sided support
|
||||
* OFI/libfabric: Multiple small bugfixes
|
||||
* libnbc: Adding numerous performance-improving algorithms
|
||||
- Removed: reproducible.patch - replaced by spec file settings.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 8 18:35:17 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to version 4.0.5
|
||||
- See NEWS for the detailled changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 11 08:42:56 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to version 4.0.4
|
||||
- See NEWS for the detailled changelog
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 9 08:40:06 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Update to version 4.0.3
|
||||
- See NEWS for the detailled changelog
|
||||
- Fixes compilation with UCX 1.8
|
||||
- Drop memory-patcher-fix-compiler-warning.patch which was merged upstream
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 19 08:28:04 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Drop different package string between SLES and Leap
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 15 09:05:14 UTC 2020 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Add memory-patcher-fix-compiler-warning.patch to fix 64bit portability issues
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 31 17:05:14 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Link against libnuma (bsc#1155120)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 24 14:40:07 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
- Initial version (4.0.2)
|
||||
- Add reproducible.patch for reproducible builds.
|
792
openmpi4.spec
Normal file
792
openmpi4.spec
Normal file
@ -0,0 +1,792 @@
|
||||
#
|
||||
# spec file for package openmpi4
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
||||
# University Research and Technology
|
||||
# Corporation. All rights reserved.
|
||||
# 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,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2013 Mellanox Technologies, Inc.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2015 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# Copyright (c) 2003, The Regents of the University of California, through
|
||||
# Lawrence Berkeley National Laboratory (subject to receipt of any
|
||||
# required approvals from the U.S. Dept. of Energy). All rights reserved.
|
||||
#
|
||||
# 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
|
||||
|
||||
%global pname openmpi
|
||||
%define _vers 4_1_6
|
||||
%define m_f_ver 4
|
||||
%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 || 0%{?sle_version} > 150300)
|
||||
%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}
|
||||
%{bcond_without pmix}
|
||||
%{bcond_without hwloc}
|
||||
ExcludeArch: i586 %arm s390
|
||||
%else
|
||||
%{bcond_with pmix}
|
||||
%{bcond_with hwloc}
|
||||
%endif
|
||||
|
||||
%define git_ver .0.439b23db6288
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Preamble Section
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
Name: %{package_name}%{?testsuite:-testsuite}
|
||||
Version: 4.1.6
|
||||
Release: 0
|
||||
Summary: An implementation of MPI/SHMEM (Version %{m_f_ver})
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/Parallel
|
||||
URL: https://www.open-mpi.org/
|
||||
Source0: openmpi-%{version}%{git_ver}.tar.bz2
|
||||
Source2: openmpi4-rpmlintrc
|
||||
Source3: macros.hpc-openmpi
|
||||
Source4: mpivars.sh
|
||||
Source5: mpivars.csh
|
||||
Patch1: orted-mpir-add-version-to-shared-library.patch
|
||||
Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
|
||||
Patch3: openmpi4-C99.diff
|
||||
Provides: mpi
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: flex
|
||||
BuildRequires: hostname
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: libfabric-devel
|
||||
BuildRequires: libibumad-devel
|
||||
BuildRequires: libibverbs-devel
|
||||
BuildRequires: libtool
|
||||
# net-tools is required to run hostname
|
||||
BuildRequires: net-tools
|
||||
%if 0%{?testsuite}
|
||||
BuildArch: noarch
|
||||
BuildRequires: %{package_name} = %{version}
|
||||
%endif
|
||||
%if 0%{?with_ucx}
|
||||
BuildRequires: libucm-devel
|
||||
BuildRequires: libucp-devel
|
||||
BuildRequires: libucs-devel
|
||||
BuildRequires: libuct-devel
|
||||
%endif
|
||||
%if %{with hwloc}
|
||||
BuildRequires: hwloc-devel
|
||||
%endif
|
||||
%if %{with pmix}
|
||||
BuildRequires: pmix-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 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 requires ssh (or rsh) to run even on a single host
|
||||
# Force ssh to make sure the install works out of the box
|
||||
Requires: openssh
|
||||
|
||||
%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}%{m_f_ver}
|
||||
%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 version %{m_f_ver} 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 package provides the Open MPI/OpenSHMEM version %{m_f_ver}
|
||||
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 package provides the development files for Open MPI/OpenSHMEM
|
||||
version %{m_f_ver}, 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: Documentation/Man
|
||||
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)
|
||||
%if %{without pmix}
|
||||
# OpenMPI4 is PMIx enabled
|
||||
Provides: pmix-runtime-config = %{version}
|
||||
Conflicts: otherproviders(pmix-runtime-config)
|
||||
%endif
|
||||
|
||||
%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 3).
|
||||
%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
|
||||
|
||||
%if "%(echo %version | tr '.' '_')" != "%_vers"
|
||||
%{error: Fix _vers variable to match package version!}
|
||||
%endif
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Prepatory Section
|
||||
#
|
||||
#############################################################################
|
||||
%prep
|
||||
echo FLAVOR %{flavor}
|
||||
%if %{with hpc}
|
||||
echo with HPC
|
||||
%endif
|
||||
%if %{without hpc}
|
||||
echo without HPC
|
||||
%endif
|
||||
%autosetup -p0 -n openmpi-%{version}%{git_ver}
|
||||
|
||||
%if %{without hpc}
|
||||
cat > %{_sourcedir}/baselibs.conf <<EOF
|
||||
openmpi%{m_f_ver}-libs
|
||||
EOF
|
||||
%endif
|
||||
|
||||
# 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
|
||||
# make build reproducible
|
||||
export USER=OBS
|
||||
export HOSTNAME=OBS
|
||||
# OBS sets SOURCE_DATE_EPOCH
|
||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||
%{?with_hpc:%hpc_debug}
|
||||
./autogen.pl --force
|
||||
%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 \
|
||||
--with-libfabric \
|
||||
--enable-mpi-thread-multiple \
|
||||
--disable-wrapper-rpath \
|
||||
--with-slurm \
|
||||
--with-libevent=external \
|
||||
%if %{with hwloc}
|
||||
--with-hwloc=external \
|
||||
%endif
|
||||
%if %{with pmix}
|
||||
--with-pmix=external \
|
||||
%endif
|
||||
%if 0%{?with_ucx}
|
||||
--with-ucx \
|
||||
--with-ucx-libdir=/usr/%_lib \
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
--with-psm2 \
|
||||
%endif
|
||||
--disable-silent-rules \
|
||||
--enable-mpirun-prefix-by-default \
|
||||
--with-package-string="Open MPI Distribution for SUSE" \
|
||||
--disable-wrapper-runpath
|
||||
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
|
||||
%{?with_hpc:%{hpc_setup_compiler}}
|
||||
make install DESTDIR="%buildroot"
|
||||
|
||||
# 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
|
||||
|
||||
%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' %{SOURCE4} \
|
||||
> %{buildroot}%{mpi_bindir}/mpivars.sh
|
||||
sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE5} \
|
||||
> %{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}
|
||||
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
|
||||
%if %{without pmix}
|
||||
rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf
|
||||
%endif
|
||||
%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
|
||||
%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
|
||||
#
|
||||
%{mpi_bindir}/mpirun
|
||||
%{mpi_bindir}/ompi-clean
|
||||
%{mpi_bindir}/ompi-server
|
||||
%{mpi_bindir}/ompi_info
|
||||
%{mpi_bindir}/orte-clean
|
||||
%{mpi_bindir}/orte-info
|
||||
%{mpi_bindir}/orte-server
|
||||
%{mpi_bindir}/orted
|
||||
%{mpi_bindir}/orterun
|
||||
|
||||
%if 0%{?with_ucx}
|
||||
%{mpi_bindir}/oshmem_info
|
||||
%{mpi_bindir}/oshrun
|
||||
%{mpi_bindir}/shmemrun
|
||||
%endif
|
||||
|
||||
%if %{without hpc}
|
||||
%{mpi_bindir}/aggregate_profile.pl
|
||||
%{mpi_bindir}/profile2mat.pl
|
||||
%endif
|
||||
|
||||
%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/*-data.txt
|
||||
%{mpi_datadir}/openmpi/help-*.txt
|
||||
%if %{without pmix}
|
||||
%dir %{mpi_datadir}/pmix
|
||||
%{mpi_datadir}/pmix/help-*.txt
|
||||
%endif
|
||||
|
||||
%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
|
||||
%if %{without pmix}
|
||||
%dir %mpi_libdir/pmix/
|
||||
%{mpi_libdir}/pmix/*.so
|
||||
%endif
|
||||
|
||||
%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
|
||||
%if 0%{?suse_version} >= 1320
|
||||
%{mpi_libdir}/mpi_f08*.mod
|
||||
%{mpi_libdir}/pmpi_f08*.mod
|
||||
%endif
|
||||
%{mpi_bindir}/mpiCC
|
||||
%{mpi_bindir}/mpic++
|
||||
%{mpi_bindir}/mpicc
|
||||
%{mpi_bindir}/mpicxx
|
||||
%{mpi_bindir}/mpiexec
|
||||
%{mpi_bindir}/mpif77
|
||||
%{mpi_bindir}/mpif90
|
||||
%{mpi_bindir}/mpifort
|
||||
%{mpi_bindir}/opal_wrapper
|
||||
%{mpi_bindir}/ortecc
|
||||
%if 0%{?with_ucx}
|
||||
%{mpi_bindir}/oshcc
|
||||
%{mpi_bindir}/oshCC
|
||||
%{mpi_bindir}/oshc++
|
||||
%{mpi_bindir}/oshcxx
|
||||
%{mpi_bindir}/oshfort
|
||||
%{mpi_bindir}/shmemcc
|
||||
%{mpi_bindir}/shmemCC
|
||||
%{mpi_bindir}/shmemc++
|
||||
%{mpi_bindir}/shmemcxx
|
||||
%{mpi_bindir}/shmemfort
|
||||
%endif
|
||||
%{mpi_datadir}/openmpi/openmpi-valgrind.supp
|
||||
%if %{without pmix}
|
||||
%{mpi_datadir}/pmix/pmix-valgrind.supp
|
||||
%endif
|
||||
|
||||
%files docs
|
||||
%defattr(-, root, root, -)
|
||||
%{mpi_mandir}
|
||||
|
||||
%files macros-devel
|
||||
%defattr(-,root,root,-)
|
||||
%if %{with hpc}
|
||||
%{_rpmmacrodir}/macros.hpc-openmpi
|
||||
%else
|
||||
%{_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
|
||||
%if %{without pmix}
|
||||
%config %{_sysconfdir}/pmix-mca-params.conf
|
||||
%endif
|
||||
%{_sysconfdir}/openmpi-totalview.tcl
|
||||
%endif
|
||||
|
||||
%endif # !?testsuite
|
||||
|
||||
%changelog
|
22
orted-mpir-add-version-to-shared-library.patch
Normal file
22
orted-mpir-add-version-to-shared-library.patch
Normal file
@ -0,0 +1,22 @@
|
||||
commit bd2ceac4315c772e02cbb070e443d1acf2512da1
|
||||
Author: Andrew J. Hesford <ajh@sideband.org>
|
||||
Date: Thu Apr 29 15:13:23 2021 -0400
|
||||
|
||||
orted-mpir: add version to shared library
|
||||
|
||||
Because orted-mpir is installed in the public library direrctory, it
|
||||
should have a version. Assign the library libopen_rte_so_version to be
|
||||
consistent with the rest of the RTE.
|
||||
|
||||
Signed-off-by: Andrew J. Hesford <ajh@sideband.org>
|
||||
|
||||
diff --git orte/orted/orted-mpir/Makefile.am orte/orted/orted-mpir/Makefile.am
|
||||
index 5c0dd335644a..8105dd4a6b83 100644
|
||||
--- orte/orted/orted-mpir/Makefile.am
|
||||
+++ orte/orted/orted-mpir/Makefile.am
|
||||
@@ -19,4 +19,4 @@ lib_LTLIBRARIES = lib@ORTE_LIB_PREFIX@open-orted-mpir.la
|
||||
lib@ORTE_LIB_PREFIX@open_orted_mpir_la_SOURCES = \
|
||||
orted_mpir_breakpoint.c \
|
||||
orted_mpir.h
|
||||
-lib@ORTE_LIB_PREFIX@open_orted_mpir_la_LDFLAGS = -avoid-version
|
||||
+lib@ORTE_LIB_PREFIX@open_orted_mpir_la_LDFLAGS = -version-info $(libopen_rte_so_version)
|
Loading…
x
Reference in New Issue
Block a user