forked from pool/slurm
Egbert Eich
fd9e32c9b0
- Removed autopatch as it doesn't work for the SLE-11-SP4 build. - pmix searches now also for libpmix.so.2 so that there is no dependency for devel package (bsc#1164386) * added patch file check-for-lipmix.so.MAJOR.patch * reworded patch file Remove-rpath-from-build.patch to use %autopatch OBS-URL: https://build.opensuse.org/request/show/780353 OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=139
47 lines
1.4 KiB
Diff
47 lines
1.4 KiB
Diff
From: Christian Goll <cgoll@suse.com>
|
|
Date: Thu Feb 27 17:09:11 2020 +0100
|
|
Subject: check for lipmix.so.MAJOR
|
|
Patch-mainline: Not yet
|
|
Git-commit: 6a280d70ba914a4c9734986b353fbb0e76eb664b
|
|
References:
|
|
|
|
This is a hack with a safety net included: make sure
|
|
PMIX version is 3 for PMX .so version 2.
|
|
|
|
Edited-by: Egbert Eich <eich@suse.com>
|
|
---
|
|
slurm-20.02.0/src/plugins/mpi/pmix/mpi_pmix.c | 17 ++++++++++++++++-
|
|
1 file changed, 16 insertions(+), 1 deletion(-)
|
|
diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c
|
|
index 7a65895..e18b01d 100644
|
|
--- a/src/plugins/mpi/pmix/mpi_pmix.c
|
|
+++ b/src/plugins/mpi/pmix/mpi_pmix.c
|
|
@@ -109,6 +109,18 @@ static void *_libpmix_open(void)
|
|
#endif
|
|
xstrfmtcat(full_path, "libpmix.so");
|
|
|
|
+/*
|
|
+ * pmix.so library age is 2 for pmi version 3
|
|
+ */
|
|
+#if defined (PMIX_SO)
|
|
+# if HAVE_PMIX_VER != 3 || PMIX_SO != 2
|
|
+# error PMIX .so != 2 or PMIX version != 3
|
|
+# else
|
|
+# define PMIX_SO_STRING "2"
|
|
+# endif
|
|
+ lib_plug = dlopen("libpmix.so."PMIX_SO_STRING, RTLD_LAZY | RTLD_GLOBAL);
|
|
+ if(!lib_plug)
|
|
+#endif
|
|
lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL);
|
|
xfree(full_path);
|
|
|
|
@@ -130,7 +145,7 @@ extern int init(void)
|
|
{
|
|
libpmix_plug = _libpmix_open();
|
|
if (!libpmix_plug) {
|
|
- PMIXP_ERROR("pmi/pmix: can not load PMIx library");
|
|
+ PMIXP_ERROR("pmi/pmix: can not load PMIx library: %d",(int) HAVE_PMIX_VER);
|
|
return SLURM_ERROR;
|
|
}
|
|
return SLURM_SUCCESS;
|