From 42a0edb7e1d9a88b7cb7374295ff5fa840852abb Mon Sep 17 00:00:00 2001 From: Artem Polyakov Date: Wed, 2 Aug 2017 23:39:41 +0700 Subject: [PATCH] pmix: Override some of the pmix env if internal component in use Signed-off-by: Artem Polyakov --- opal/mca/pmix/pmix2x/pmix2x_client.c | 13 +++++++++++-- opal/mca/pmix/pmix2x/pmix2x_server_south.c | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/opal/mca/pmix/pmix2x/pmix2x_client.c b/opal/mca/pmix/pmix2x/pmix2x_client.c index 52d77fab99e..f1a5d2b6e1e 100644 --- a/opal/mca/pmix/pmix2x/pmix2x_client.c +++ b/opal/mca/pmix/pmix2x/pmix2x_client.c @@ -18,6 +18,7 @@ #include "opal_config.h" #include "opal/constants.h" #include "opal/types.h" +#include "opal/mca/installdirs/installdirs.h" #ifdef HAVE_STRING_H #include @@ -78,9 +79,17 @@ int pmix2x_client_init(opal_list_t *ilist) asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg); putenv(dbgvalue); } - if ((NULL != (evar = getenv("OPAL_PREFIX"))) && - (NULL == getenv("PMIX_INSTALL_PREFIX"))) { + if (NULL != (evar = getenv("OPAL_PREFIX"))) { + /* OMPI installation was relocated. We need to propagate this to + * internal PMIx as well + */ opal_setenv("PMIX_INSTALL_PREFIX", evar, false, &environ); + } else if(NULL != getenv("PMIX_INSTALL_PREFIX")) { + /* we use internal version of PMIx, need to override this + * envar so we wont get corrupted configuration + */ + opal_setenv("PMIX_INSTALL_PREFIX", opal_install_dirs.prefix, + false, &environ); } } diff --git a/opal/mca/pmix/pmix2x/pmix2x_server_south.c b/opal/mca/pmix/pmix2x/pmix2x_server_south.c index 41abb8b4d58..d9861c6701c 100644 --- a/opal/mca/pmix/pmix2x/pmix2x_server_south.c +++ b/opal/mca/pmix/pmix2x/pmix2x_server_south.c @@ -19,6 +19,7 @@ #include "opal_config.h" #include "opal/constants.h" #include "opal/types.h" +#include "opal/mca/installdirs/installdirs.h" #ifdef HAVE_STRING_H #include @@ -109,9 +110,17 @@ int pmix2x_server_init(opal_pmix_server_module_t *module, asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg); putenv(dbgvalue); } - if ((NULL != (evar = getenv("OPAL_PREFIX"))) && - (NULL == getenv("PMIX_INSTALL_PREFIX"))) { + if (NULL != (evar = getenv("OPAL_PREFIX"))) { + /* OMPI installation was relocated. We need to propagate this to + * internal PMIx as well + */ opal_setenv("PMIX_INSTALL_PREFIX", evar, false, &environ); + } else if(NULL != getenv("PMIX_INSTALL_PREFIX")) { + /* we use internal version of PMIx, need to override this + * envar so we wont get corrupted configuration + */ + opal_setenv("PMIX_INSTALL_PREFIX", opal_install_dirs.prefix, + false, &environ); } } ++opal_pmix_base.initialized;