diff --git a/orte/mca/common/pmi/common_pmi.c b/orte/mca/common/pmi/common_pmi.c index dd0bc7cb82..5bd0a9a9d4 100644 --- a/orte/mca/common/pmi/common_pmi.c +++ b/orte/mca/common/pmi/common_pmi.c @@ -3,7 +3,7 @@ * Copyright (c) 2007 The Trustees of Indiana University. * All rights reserved. * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2011-2012 Los Alamos National Security, LLC. All + * Copyright (c) 2011-2013 Los Alamos National Security, LLC. All * rights reserved. * $COPYRIGHT$ * @@ -77,3 +77,33 @@ void mca_common_pmi_finalize (void) { #endif } } + +/* useful util */ +char* orte_errmgr_base_pmi_error(int pmi_err) +{ + char * err_msg; + + switch(pmi_err) { + case PMI_FAIL: err_msg = "Operation failed"; break; + case PMI_ERR_INIT: err_msg = "PMI is not initialized"; break; + case PMI_ERR_NOMEM: err_msg = "Input buffer not large enough"; break; + case PMI_ERR_INVALID_ARG: err_msg = "Invalid argument"; break; + case PMI_ERR_INVALID_KEY: err_msg = "Invalid key argument"; break; + case PMI_ERR_INVALID_KEY_LENGTH: err_msg = "Invalid key length argument"; break; + case PMI_ERR_INVALID_VAL: err_msg = "Invalid value argument"; break; + case PMI_ERR_INVALID_VAL_LENGTH: err_msg = "Invalid value length argument"; break; + case PMI_ERR_INVALID_LENGTH: err_msg = "Invalid length argument"; break; + case PMI_ERR_INVALID_NUM_ARGS: err_msg = "Invalid number of arguments"; break; + case PMI_ERR_INVALID_ARGS: err_msg = "Invalid args argument"; break; + case PMI_ERR_INVALID_NUM_PARSED: err_msg = "Invalid num_parsed length argument"; break; + case PMI_ERR_INVALID_KEYVALP: err_msg = "Invalid keyvalp argument"; break; + case PMI_ERR_INVALID_SIZE: err_msg = "Invalid size argument"; break; +#if defined(PMI_ERR_INVALID_KVS) + /* pmi.h calls this a valid return code but mpich doesn't define it (slurm does). */ + case PMI_ERR_INVALID_KVS: err_msg = "Invalid kvs argument"; break; +#endif + case PMI_SUCCESS: err_msg = "Success"; break; + default: err_msg = "Unkown error"; + } + return err_msg; +} diff --git a/orte/mca/common/pmi/common_pmi.h b/orte/mca/common/pmi/common_pmi.h index 463b35fee6..25d421fe07 100644 --- a/orte/mca/common/pmi/common_pmi.h +++ b/orte/mca/common/pmi/common_pmi.h @@ -3,7 +3,7 @@ * Copyright (c) 2007 The Trustees of Indiana University. * All rights reserved. * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2011-2012 Los Alamos National Security, LLC. All + * Copyright (c) 2011-2013 Los Alamos National Security, LLC. All * rights reserved. * $COPYRIGHT$ * @@ -33,4 +33,13 @@ bool mca_common_pmi_init (void); */ void mca_common_pmi_finalize (void); +#define ORTE_PMI_ERROR(pmi_err, pmi_func) \ + do { \ + opal_output(0, "%s[%s:%d:%s] %s: %s\n", \ + ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \ + __FILE__, __LINE__, __func__, \ + pmi_func, orte_errmgr_base_pmi_error(pmi_err)); \ + } while(0); +OPAL_DECLSPEC char* orte_errmgr_base_pmi_error(int pmi_err); + #endif diff --git a/orte/mca/db/pmi/db_pmi.c b/orte/mca/db/pmi/db_pmi.c index b88378550d..da9be9f382 100644 --- a/orte/mca/db/pmi/db_pmi.c +++ b/orte/mca/db/pmi/db_pmi.c @@ -25,6 +25,7 @@ #include "orte/util/show_help.h" #include "orte/util/name_fns.h" #include "orte/mca/errmgr/errmgr.h" +#include "orte/mca/common/pmi/common_pmi.h" #include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_wait.h" diff --git a/orte/mca/errmgr/base/errmgr_base_fns.c b/orte/mca/errmgr/base/errmgr_base_fns.c index ed68bb29b2..9d32327a7c 100644 --- a/orte/mca/errmgr/base/errmgr_base_fns.c +++ b/orte/mca/errmgr/base/errmgr_base_fns.c @@ -47,10 +47,6 @@ #include #include -#if WANT_PMI_SUPPORT -#include -#endif - #include "opal/mca/mca.h" #include "opal/mca/base/base.h" #include "opal/mca/base/mca_base_param.h" @@ -201,39 +197,6 @@ void orte_errmgr_base_log(int error_code, char *filename, int line) errstring, filename, line); } -#if WANT_PMI_SUPPORT -/* useful util */ -char* orte_errmgr_base_pmi_error(int pmi_err) -{ - char * err_msg; - - switch(pmi_err) { - case PMI_FAIL: err_msg = "Operation failed"; break; - case PMI_ERR_INIT: err_msg = "PMI is not initialized"; break; - case PMI_ERR_NOMEM: err_msg = "Input buffer not large enough"; break; - case PMI_ERR_INVALID_ARG: err_msg = "Invalid argument"; break; - case PMI_ERR_INVALID_KEY: err_msg = "Invalid key argument"; break; - case PMI_ERR_INVALID_KEY_LENGTH: err_msg = "Invalid key length argument"; break; - case PMI_ERR_INVALID_VAL: err_msg = "Invalid value argument"; break; - case PMI_ERR_INVALID_VAL_LENGTH: err_msg = "Invalid value length argument"; break; - case PMI_ERR_INVALID_LENGTH: err_msg = "Invalid length argument"; break; - case PMI_ERR_INVALID_NUM_ARGS: err_msg = "Invalid number of arguments"; break; - case PMI_ERR_INVALID_ARGS: err_msg = "Invalid args argument"; break; - case PMI_ERR_INVALID_NUM_PARSED: err_msg = "Invalid num_parsed length argument"; break; - case PMI_ERR_INVALID_KEYVALP: err_msg = "Invalid keyvalp argument"; break; - case PMI_ERR_INVALID_SIZE: err_msg = "Invalid size argument"; break; -#if defined(PMI_ERR_INVALID_KVS) - /* pmi.h calls this a valid return code but mpich doesn't define it (slurm does). */ - case PMI_ERR_INVALID_KVS: err_msg = "Invalid kvs argument"; break; -#endif - case PMI_SUCCESS: err_msg = "Success"; break; - default: err_msg = "Unkown error"; - } - return err_msg; -} -#endif - - void orte_errmgr_base_abort(int error_code, char *fmt, ...) { va_list arglist; diff --git a/orte/mca/errmgr/errmgr.h b/orte/mca/errmgr/errmgr.h index 2d7348c6f0..a953c60dbd 100644 --- a/orte/mca/errmgr/errmgr.h +++ b/orte/mca/errmgr/errmgr.h @@ -11,7 +11,7 @@ * All rights reserved. * Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved. - * Copyright (c) 2011 Los Alamos National Security, LLC. + * Copyright (c) 2011-2013 Los Alamos National Security, LLC. * All rights reserved. * $COPYRIGHT$ * @@ -152,17 +152,6 @@ OBJ_CLASS_DECLARATION(orte_errmgr_predicted_map_t); #define ORTE_ERROR_LOG(n) \ orte_errmgr.log(n, __FILE__, __LINE__); -#if WANT_PMI_SUPPORT -#define ORTE_PMI_ERROR(pmi_err, pmi_func) \ - do { \ - opal_output(0, "%s[%s:%d:%s] %s: %s\n", \ - ORTE_NAME_PRINT(ORTE_PROC_MY_NAME), \ - __FILE__, __LINE__, __func__, \ - pmi_func, orte_errmgr_base_pmi_error(pmi_err)); \ - } while(0); -OPAL_DECLSPEC char* orte_errmgr_base_pmi_error(int pmi_err); -#endif - /* * Framework Interfaces */ diff --git a/orte/mca/ess/pmi/ess_pmi_module.c b/orte/mca/ess/pmi/ess_pmi_module.c index 46216816f3..14ca896179 100644 --- a/orte/mca/ess/pmi/ess_pmi_module.c +++ b/orte/mca/ess/pmi/ess_pmi_module.c @@ -10,7 +10,7 @@ * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. * Copyright (c) 2008-2012 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2012 Los Alamos National Security, LLC. + * Copyright (c) 2012-2013 Los Alamos National Security, LLC. * All rights reserved. * $COPYRIGHT$ * @@ -47,6 +47,7 @@ #include "opal/mca/hwloc/base/base.h" #include "opal/util/printf.h" +#include "orte/mca/common/pmi/common_pmi.h" #include "orte/mca/db/db.h" #include "orte/mca/errmgr/errmgr.h" #include "orte/mca/rml/rml.h" diff --git a/orte/mca/grpcomm/pmi/grpcomm_pmi_module.c b/orte/mca/grpcomm/pmi/grpcomm_pmi_module.c index 6b970a3cb7..c7eb898357 100644 --- a/orte/mca/grpcomm/pmi/grpcomm_pmi_module.c +++ b/orte/mca/grpcomm/pmi/grpcomm_pmi_module.c @@ -3,7 +3,7 @@ * Copyright (c) 2007 The Trustees of Indiana University. * All rights reserved. * Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. - * Copyright (c) 2011-2012 Los Alamos National Security, LLC. All + * Copyright (c) 2011-2013 Los Alamos National Security, LLC. All * rights reserved. * $COPYRIGHT$ * @@ -25,6 +25,7 @@ #include "opal/dss/dss.h" #include "opal/mca/hwloc/base/base.h" +#include "orte/mca/common/pmi/common_pmi.h" #include "orte/mca/db/db.h" #include "orte/mca/errmgr/errmgr.h" #include "orte/mca/rml/rml.h"