diff --git a/opal/mca/pmix/pmix2x/pmix2x_client.c b/opal/mca/pmix/pmix2x/pmix2x_client.c index 990be35666..52d77fab99 100644 --- a/opal/mca/pmix/pmix2x/pmix2x_client.c +++ b/opal/mca/pmix/pmix2x/pmix2x_client.c @@ -3,7 +3,7 @@ * Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2014-2017 Research Organization for Information Science * and Technology (RIST). All rights reserved. - * Copyright (c) 2014-2015 Mellanox Technologies, Inc. + * Copyright (c) 2014-2017 Mellanox Technologies, Inc. * All rights reserved. * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2016 Los Alamos National Security, LLC. All rights @@ -78,8 +78,9 @@ int pmix2x_client_init(opal_list_t *ilist) asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg); putenv(dbgvalue); } - if (NULL != (evar = getenv("OPAL_PREFIX"))) { - opal_setenv("PMIX_PREFIX", evar, false, &environ); + if ((NULL != (evar = getenv("OPAL_PREFIX"))) && + (NULL == getenv("PMIX_INSTALL_PREFIX"))) { + opal_setenv("PMIX_INSTALL_PREFIX", evar, false, &environ); } } diff --git a/opal/mca/pmix/pmix2x/pmix2x_server_south.c b/opal/mca/pmix/pmix2x/pmix2x_server_south.c index 0842b3918a..41abb8b4d5 100644 --- a/opal/mca/pmix/pmix2x/pmix2x_server_south.c +++ b/opal/mca/pmix/pmix2x/pmix2x_server_south.c @@ -4,7 +4,7 @@ * Copyright (c) 2014-2017 Research Organization for Information Science * and Technology (RIST). All rights reserved. * Copyright (c) 2014-2016 Intel, Inc. All rights reserved. - * Copyright (c) 2014 Mellanox Technologies, Inc. + * Copyright (c) 2014-2017 Mellanox Technologies, Inc. * All rights reserved. * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2017 Los Alamos National Security, LLC. All rights @@ -109,8 +109,9 @@ int pmix2x_server_init(opal_pmix_server_module_t *module, asprintf(&dbgvalue, "PMIX_DEBUG=%d", dbg); putenv(dbgvalue); } - if (NULL != (evar = getenv("OPAL_PREFIX"))) { - opal_setenv("PMIX_PREFIX", evar, false, &environ); + if ((NULL != (evar = getenv("OPAL_PREFIX"))) && + (NULL == getenv("PMIX_INSTALL_PREFIX"))) { + opal_setenv("PMIX_INSTALL_PREFIX", evar, false, &environ); } } ++opal_pmix_base.initialized; diff --git a/orte/mca/plm/rsh/plm_rsh_module.c b/orte/mca/plm/rsh/plm_rsh_module.c index 92ee33e21d..5b59e1b2f2 100644 --- a/orte/mca/plm/rsh/plm_rsh_module.c +++ b/orte/mca/plm/rsh/plm_rsh_module.c @@ -17,6 +17,7 @@ * Copyright (c) 2014-2017 Intel, Inc. All rights reserved. * Copyright (c) 2015-2017 Research Organization for Information Science * and Technology (RIST). All rights reserved. + * Copyright (c) 2017 Mellanox Technologies, Inc. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -344,6 +345,7 @@ static int setup_launch(int *argcptr, char ***argvptr, bool found; char *lib_base=NULL, *bin_base=NULL; char *opal_prefix = getenv("OPAL_PREFIX"); + char *pmix_prefix = getenv("PMIX_INSTALL_PREFIX"); char* full_orted_cmd = NULL; /* Figure out the basenames for the libdir and bindir. This @@ -497,13 +499,16 @@ static int setup_launch(int *argcptr, char ***argvptr, * we have to insert the orted_prefix in the right place */ (void)asprintf (&final_cmd, - "%s%s%s PATH=%s%s$PATH ; export PATH ; " + "%s%s%s %s%s%s PATH=%s%s$PATH ; export PATH ; " "LD_LIBRARY_PATH=%s%s$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; " "DYLD_LIBRARY_PATH=%s%s$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; " "%s %s", (opal_prefix != NULL ? "OPAL_PREFIX=" : " "), (opal_prefix != NULL ? opal_prefix : " "), (opal_prefix != NULL ? " ; export OPAL_PREFIX;" : " "), + (pmix_prefix != NULL ? "PMIX_INSTALL_PREFIX=" : " "), + (pmix_prefix != NULL ? pmix_prefix : " "), + (pmix_prefix != NULL ? " ; export PMIX_INSTALL_PREFIX;" : " "), (NULL != bin_base ? bin_base : " "), (NULL != bin_base ? ":" : " "), (NULL != lib_base ? lib_base : " "),