1
1

Revert remaining svn kruft from r23764

This commit was SVN r23786.

The following SVN revision numbers were found above:
  r23764 --> open-mpi/ompi@40a2bfa238
Этот коммит содержится в:
Ralph Castain 2010-09-22 01:11:40 +00:00
родитель 9512131b6e
Коммит 3631e4e936
17 изменённых файлов: 184 добавлений и 921 удалений

Просмотреть файл

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -56,6 +56,7 @@
#endif #endif
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/if/base/base.h"
#include "ompi/mca/allocator/base/base.h" #include "ompi/mca/allocator/base/base.h"
#include "ompi/mca/coll/base/base.h" #include "ompi/mca/coll/base/base.h"
@ -76,7 +77,6 @@
#include "ompi/mca/pubsub/base/base.h" #include "ompi/mca/pubsub/base/base.h"
#include "ompi/mca/dpm/base/base.h" #include "ompi/mca/dpm/base/base.h"
#include "ompi/mca/op/base/base.h" #include "ompi/mca/op/base/base.h"
#include "ompi/mca/vprotocol/base/base.h"
#if OPAL_ENABLE_FT_CR == 1 #if OPAL_ENABLE_FT_CR == 1
#include "ompi/mca/crcp/crcp.h" #include "ompi/mca/crcp/crcp.h"
@ -177,7 +177,6 @@ void ompi_info_open_components(void)
char **env_save=NULL; char **env_save=NULL;
bool need_close_components = false; bool need_close_components = false;
ompi_info_component_map_t *map; ompi_info_component_map_t *map;
char *include_list;
if (opened_components) { if (opened_components) {
return; return;
@ -348,6 +347,14 @@ void ompi_info_open_components(void)
opal_pointer_array_add(&component_map, map); opal_pointer_array_add(&component_map, map);
#endif #endif
if (OPAL_SUCCESS != opal_if_base_open()) {
goto error;
}
map = OBJ_NEW(ompi_info_component_map_t);
map->type = strdup("if");
map->components = &opal_if_components;
opal_pointer_array_add(&component_map, map);
/* OPAL's installdirs base open has already been called as part of /* OPAL's installdirs base open has already been called as part of
* opal_init_util() back in main(). * opal_init_util() back in main().
*/ */
@ -570,21 +577,6 @@ void ompi_info_open_components(void)
map->components = &mca_pml_base_components_available; map->components = &mca_pml_base_components_available;
opal_pointer_array_add(&component_map, map); opal_pointer_array_add(&component_map, map);
/* According to vprotocol_base.c, the first char cannot be 0 or
the function will do nothing. Weird. The value must also be
malloc'ed, because mca_vprotocol_close() will free() it. */
include_list = strdup("bogus");
if (NULL == include_list) {
goto error;
}
if (OMPI_SUCCESS != mca_vprotocol_base_open(include_list)) {
goto error;
}
map = OBJ_NEW(ompi_info_component_map_t);
map->type = strdup("vprotocol");
map->components = &mca_vprotocol_base_components_available;
opal_pointer_array_add(&component_map, map);
/* No need to call the bml_base_open() because the ob1 pml calls it. /* No need to call the bml_base_open() because the ob1 pml calls it.
* mca_bml_base_open(); * mca_bml_base_open();
*/ */

Просмотреть файл

@ -203,6 +203,8 @@ int main(int argc, char *argv[])
opal_pointer_array_add(&mca_types, "crs"); opal_pointer_array_add(&mca_types, "crs");
opal_pointer_array_add(&mca_types, "compress"); opal_pointer_array_add(&mca_types, "compress");
#endif #endif
opal_pointer_array_add(&mca_types, "if");
opal_pointer_array_add(&mca_types, "dpm"); opal_pointer_array_add(&mca_types, "dpm");
opal_pointer_array_add(&mca_types, "pubsub"); opal_pointer_array_add(&mca_types, "pubsub");
opal_pointer_array_add(&mca_types, "allocator"); opal_pointer_array_add(&mca_types, "allocator");
@ -218,7 +220,6 @@ int main(int argc, char *argv[])
opal_pointer_array_add(&mca_types, "osc"); opal_pointer_array_add(&mca_types, "osc");
opal_pointer_array_add(&mca_types, "op"); opal_pointer_array_add(&mca_types, "op");
opal_pointer_array_add(&mca_types, "common"); opal_pointer_array_add(&mca_types, "common");
opal_pointer_array_add(&mca_types, "vprotocol");
#if OPAL_ENABLE_FT_CR == 1 #if OPAL_ENABLE_FT_CR == 1
opal_pointer_array_add(&mca_types, "crcp"); opal_pointer_array_add(&mca_types, "crcp");
#endif #endif

Просмотреть файл

@ -834,7 +834,6 @@ void ompi_info_do_config(bool want_all)
ompi_info_out("Symbol vis. support", "options:visibility", symbol_visibility); ompi_info_out("Symbol vis. support", "options:visibility", symbol_visibility);
ompi_info_out("MPI extensions", "options:mpi_ext", OMPI_MPIEXT_COMPONENTS); ompi_info_out("MPI extensions", "options:mpi_ext", OMPI_MPIEXT_COMPONENTS);
ompi_info_out("MPI contribs", "options:mpi_contrib", OMPI_MPI_CONTRIBS);
ompi_info_out("FT Checkpoint support", "options:ft_support", ft_support); ompi_info_out("FT Checkpoint support", "options:ft_support", ft_support);
free(ft_support); free(ft_support);

Просмотреть файл

@ -50,7 +50,6 @@
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/malloc.h" #include "opal/util/malloc.h"
#include "opal/util/if.h"
#include "opal/util/keyval_parse.h" #include "opal/util/keyval_parse.h"
#include "opal/util/opal_environ.h" #include "opal/util/opal_environ.h"
#include "opal/util/argv.h" #include "opal/util/argv.h"
@ -61,6 +60,7 @@
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
#include "opal/constants.h" #include "opal/constants.h"
#include "opal/mca/if/base/base.h"
#include "opal/mca/memcpy/base/base.h" #include "opal/mca/memcpy/base/base.h"
#include "opal/mca/memory/base/base.h" #include "opal/mca/memory/base/base.h"
#include "opal/mca/timer/base/base.h" #include "opal/mca/timer/base/base.h"
@ -773,7 +773,7 @@ int opal_cr_coord(int state)
/* /*
* Flush if() functionality, since it caches system specific info. * Flush if() functionality, since it caches system specific info.
*/ */
opal_iffinalize(); opal_if_base_close();
/* Since opal_ifinit() is not exposed, the necessary /* Since opal_ifinit() is not exposed, the necessary
* functions will call it when needed. Just make sure we * functions will call it when needed. Just make sure we
* finalized this code so we don't get old socket addrs. * finalized this code so we don't get old socket addrs.

Просмотреть файл

@ -26,7 +26,6 @@
#include "opal/util/trace.h" #include "opal/util/trace.h"
#include "opal/util/output.h" #include "opal/util/output.h"
#include "opal/util/malloc.h" #include "opal/util/malloc.h"
#include "opal/util/if.h"
#include "opal/util/net.h" #include "opal/util/net.h"
#include "opal/util/keyval_parse.h" #include "opal/util/keyval_parse.h"
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
@ -34,6 +33,7 @@
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
#include "opal/constants.h" #include "opal/constants.h"
#include "opal/mca/if/base/base.h"
#include "opal/mca/installdirs/base/base.h" #include "opal/mca/installdirs/base/base.h"
#include "opal/mca/memcpy/base/base.h" #include "opal/mca/memcpy/base/base.h"
#include "opal/mca/memory/base/base.h" #include "opal/mca/memory/base/base.h"
@ -66,9 +66,8 @@ opal_finalize_util(void)
/* Clear out all the registered MCA params */ /* Clear out all the registered MCA params */
mca_base_param_finalize(); mca_base_param_finalize();
/* close interfaces code. This is lazy opened, but protected from /* close interfaces code. */
close when not opened internally */ opal_if_base_close();
opal_iffinalize();
opal_net_finalize(); opal_net_finalize();

Просмотреть файл

@ -12,6 +12,7 @@
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights * Copyright (c) 2007 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -75,6 +76,7 @@ struct options_data_t {
char *module_option; char *module_option;
char **preproc_flags; char **preproc_flags;
char **comp_flags; char **comp_flags;
char **comp_flags_prefix;
char **link_flags; char **link_flags;
char **libs; char **libs;
char *req_file; char *req_file;
@ -116,6 +118,8 @@ options_data_init(struct options_data_t *data)
data->preproc_flags[0] = NULL; data->preproc_flags[0] = NULL;
data->comp_flags = (char **) malloc(sizeof(char*)); data->comp_flags = (char **) malloc(sizeof(char*));
data->comp_flags[0] = NULL; data->comp_flags[0] = NULL;
data->comp_flags_prefix = (char **) malloc(sizeof(char*));
data->comp_flags_prefix[0] = NULL;
data->link_flags = (char **) malloc(sizeof(char*)); data->link_flags = (char **) malloc(sizeof(char*));
data->link_flags[0] = NULL; data->link_flags[0] = NULL;
data->libs = (char **) malloc(sizeof(char*)); data->libs = (char **) malloc(sizeof(char*));
@ -142,6 +146,7 @@ options_data_free(struct options_data_t *data)
if (NULL != data->module_option) free(data->module_option); if (NULL != data->module_option) free(data->module_option);
opal_argv_free(data->preproc_flags); opal_argv_free(data->preproc_flags);
opal_argv_free(data->comp_flags); opal_argv_free(data->comp_flags);
opal_argv_free(data->comp_flags_prefix);
opal_argv_free(data->link_flags); opal_argv_free(data->link_flags);
opal_argv_free(data->libs); opal_argv_free(data->libs);
if (NULL != data->req_file) free(data->req_file); if (NULL != data->req_file) free(data->req_file);
@ -298,6 +303,13 @@ data_callback(const char *key, const char *value)
values); values);
expand_flags(options_data[parse_options_idx].comp_flags); expand_flags(options_data[parse_options_idx].comp_flags);
opal_argv_free(values); opal_argv_free(values);
} else if (0 == strcmp(key, "compiler_flags_prefix")) {
char **values = opal_argv_split(value, ' ');
opal_argv_insert(&options_data[parse_options_idx].comp_flags_prefix,
opal_argv_count(options_data[parse_options_idx].comp_flags_prefix),
values);
expand_flags(options_data[parse_options_idx].comp_flags_prefix);
opal_argv_free(values);
} else if (0 == strcmp(key, "linker_flags")) { } else if (0 == strcmp(key, "linker_flags")) {
char **values = opal_argv_split(value, ' '); char **values = opal_argv_split(value, ' ');
opal_argv_insert(&options_data[parse_options_idx].link_flags, opal_argv_insert(&options_data[parse_options_idx].link_flags,
@ -712,6 +724,12 @@ main(int argc, char *argv[])
exec_argc = 0; exec_argc = 0;
} }
if (flags & COMP_WANT_COMPILE) {
opal_argv_insert(&exec_argv, exec_argc,
options_data[user_data_idx].comp_flags_prefix);
exec_argc = opal_argv_count(exec_argv);
}
/* Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the /* Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the
user arguments before anything else. */ user arguments before anything else. */
opal_argv_insert(&exec_argv, exec_argc, user_argv); opal_argv_insert(&exec_argv, exec_argc, user_argv);

Просмотреть файл

@ -14,6 +14,7 @@ compiler_flags_env=CXXFLAGS
compiler=@CXX@ compiler=@CXX@
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@ extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@ preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
compiler_flags_prefix=@OPAL_WRAPPER_EXTRA_CXXFLAGS_PREFIX@
compiler_flags=@OPAL_WRAPPER_EXTRA_CXXFLAGS@ compiler_flags=@OPAL_WRAPPER_EXTRA_CXXFLAGS@
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@ linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@ libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@

Просмотреть файл

@ -14,6 +14,7 @@ compiler_flags_env=CFLAGS
compiler=@CC@ compiler=@CC@
extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@ extra_includes=@OPAL_WRAPPER_EXTRA_INCLUDES@
preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@ preprocessor_flags=@OPAL_WRAPPER_EXTRA_CPPFLAGS@
compiler_flags_prefix=@OPAL_WRAPPER_EXTRA_CFLAGS_PREFIX@
compiler_flags=@OPAL_WRAPPER_EXTRA_CFLAGS@ compiler_flags=@OPAL_WRAPPER_EXTRA_CFLAGS@
linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@ linker_flags=@OPAL_WRAPPER_EXTRA_LDFLAGS@
libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@ libs=-lopen-pal @OPAL_WRAPPER_EXTRA_LIBS@

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -170,15 +170,6 @@ OPAL_DECLSPEC int opal_ifindextoflags(int if_index, uint32_t*);
*/ */
OPAL_DECLSPEC bool opal_ifislocal(const char *hostname); OPAL_DECLSPEC bool opal_ifislocal(const char *hostname);
/**
* Finalize the functions to release malloc'd data
*
* @param none
* @return OPAL_SUCCESS if no problems encountered
* @return OPAL_ERROR if data could not be released
*/
OPAL_DECLSPEC int opal_iffinalize(void);
/** /**
* Convert a dot-delimited network tuple to an IP address * Convert a dot-delimited network tuple to an IP address
* *

Просмотреть файл

@ -36,6 +36,7 @@
#include "orte/mca/sensor/sensor.h" #include "orte/mca/sensor/sensor.h"
#include "orte/mca/routed/routed.h" #include "orte/mca/routed/routed.h"
#include "orte/mca/debugger/base/base.h" #include "orte/mca/debugger/base/base.h"
#include "orte/mca/notifier/notifier.h"
#include "orte/util/error_strings.h" #include "orte/util/error_strings.h"
#include "orte/util/name_fns.h" #include "orte/util/name_fns.h"
@ -990,6 +991,7 @@ static void check_job_complete(orte_job_t *jdata)
orte_std_cntr_t index; orte_std_cntr_t index;
bool one_still_alive; bool one_still_alive;
orte_vpid_t non_zero=0, lowest=0; orte_vpid_t non_zero=0, lowest=0;
char *msg;
#if 0 #if 0
/* Check if FileM is active. If so then keep processing. */ /* Check if FileM is active. If so then keep processing. */
@ -1225,7 +1227,7 @@ static void check_job_complete(orte_job_t *jdata)
* This can happen if a ctrl-c hits in the "wrong" place * This can happen if a ctrl-c hits in the "wrong" place
* while launching * while launching
*/ */
CHECK_DAEMONS: CHECK_DAEMONS:
if (jdata == NULL || jdata->jobid == ORTE_PROC_MY_NAME->jobid) { if (jdata == NULL || jdata->jobid == ORTE_PROC_MY_NAME->jobid) {
if (0 == orte_routed.num_routes()) { if (0 == orte_routed.num_routes()) {
/* orteds are done! */ /* orteds are done! */
@ -1301,6 +1303,9 @@ CHECK_DAEMONS:
* then go ahead and release it. We cannot release it if it * then go ahead and release it. We cannot release it if it
* abnormally terminated as mpirun needs the info so it can * abnormally terminated as mpirun needs the info so it can
* report appropriately to the user * report appropriately to the user
*
* NOTE: do not release the primary job (j=1) so we
* can pretty-print completion message
*/ */
if (NULL != jdata && job->jobid == jdata->jobid && if (NULL != jdata && job->jobid == jdata->jobid &&
(jdata->state == ORTE_JOB_STATE_TERMINATED || (jdata->state == ORTE_JOB_STATE_TERMINATED ||
@ -1309,8 +1314,10 @@ CHECK_DAEMONS:
* pointer array internal accounting * pointer array internal accounting
* is maintained! * is maintained!
*/ */
if (1 < j) {
opal_pointer_array_set_item(orte_job_data, j, NULL); /* ensure the array has a NULL */ opal_pointer_array_set_item(orte_job_data, j, NULL); /* ensure the array has a NULL */
OBJ_RELEASE(jdata); OBJ_RELEASE(jdata);
}
continue; continue;
} }
/* if the job is flagged to not be monitored, skip it */ /* if the job is flagged to not be monitored, skip it */
@ -1356,6 +1363,25 @@ CHECK_DAEMONS:
* wasn't already set by an error condition * wasn't already set by an error condition
*/ */
ORTE_UPDATE_EXIT_STATUS(0); ORTE_UPDATE_EXIT_STATUS(0);
/* provide a notifier message if that framework is active - ignored otherwise */
if (NULL != (job = (orte_job_t*)opal_pointer_array_get_item(orte_job_data, 1))) {
if (NULL == job->name) {
job->name = strdup(orte_process_info.nodename);
}
if (NULL == job->instance) {
asprintf(&job->instance, "%d", orte_process_info.pid);
}
if (0 == orte_exit_status) {
asprintf(&msg, "Job %s:%s complete", job->name, job->instance);
orte_notifier.log(ORTE_NOTIFIER_INFO, 0, msg);
} else {
asprintf(&msg, "Job %s:%s terminated abnormally", job->name, job->instance);
orte_notifier.log(ORTE_NOTIFIER_ALERT, orte_exit_status, msg);
}
free(msg);
/* this job object will be release during finalize */
}
orte_jobs_complete(); orte_jobs_complete();
/* if I am the only daemon alive, then I can exit now */ /* if I am the only daemon alive, then I can exit now */
if (0 == orte_routed.num_routes()) { if (0 == orte_routed.num_routes()) {

Просмотреть файл

@ -37,15 +37,12 @@
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/dss/dss_types.h" #include "opal/dss/dss_types.h"
#include "orte/util/show_help.h"
#include "orte/runtime/orte_globals.h" #include "orte/runtime/orte_globals.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/notifier/base/base.h" #include "orte/mca/notifier/base/base.h"
#include "notifier_hnp.h" #include "notifier_hnp.h"
/* Global variables */
opal_pointer_array_t orte_notifier_hnp_tables;
opal_mutex_t orte_notifier_hnp_tables_lock;
/* Static API's */ /* Static API's */
static int init(void); static int init(void);
static void finalize(void); static void finalize(void);
@ -258,19 +255,6 @@ static int init(void)
return rc; return rc;
} }
/* Construct a list of SOS tables, one for each process.
ADK: Since we are not doing proper error trace analysis
and/or aggregation, each process maintains a separate SOS
table and individually sends each entry in the table to
the HNP. */
/*
OBJ_CONSTRUCT(&orte_notifier_hnp_tables, opal_pointer_array_t);
opal_pointer_array_init(&orte_notifier_hnp_tables,
orte_process_info.num_procs,
INT32_MAX, 8);
OBJ_CONSTRUCT(&orte_notifier_hnp_tables_lock, opal_mutex_t);
*/
#if OPAL_ENABLE_DEBUG #if OPAL_ENABLE_DEBUG
/* If we're debugging, also add an exception handler -- just to /* If we're debugging, also add an exception handler -- just to
watch for problems in the RML */ watch for problems in the RML */
@ -290,9 +274,6 @@ static void finalize(void)
{ {
/* If I'm the HNP, then cancel the non-blocking RML receive */ /* If I'm the HNP, then cancel the non-blocking RML receive */
if (ORTE_PROC_IS_HNP) { if (ORTE_PROC_IS_HNP) {
OBJ_DESTRUCT(&orte_notifier_hnp_tables);
OBJ_DESTRUCT(&orte_notifier_hnp_tables_lock);
orte_rml.recv_cancel(ORTE_NAME_WILDCARD, ORTE_RML_TAG_NOTIFIER_HNP); orte_rml.recv_cancel(ORTE_NAME_WILDCARD, ORTE_RML_TAG_NOTIFIER_HNP);
} }
} }
@ -305,8 +286,13 @@ static void mylog(orte_notifier_base_severity_t severity, int errcode,
/* If there was a message, output it */ /* If there was a message, output it */
vasprintf(&output, msg, ap); vasprintf(&output, msg, ap);
if (NULL != output && !ORTE_PROC_IS_HNP) { if (NULL != output) {
if (ORTE_PROC_IS_HNP) {
/* output it locally */
orte_show_help("opal_sos_reporter.txt", "notifier message", false, output);
} else {
send_command(severity, errcode, output); send_command(severity, errcode, output);
}
free(output); free(output);
} }
} }
@ -318,8 +304,13 @@ static void myhelplog(orte_notifier_base_severity_t severity, int errcode,
output = opal_show_help_vstring(filename, topic, false, ap); output = opal_show_help_vstring(filename, topic, false, ap);
if (NULL != output && !ORTE_PROC_IS_HNP) { if (NULL != output) {
if (ORTE_PROC_IS_HNP) {
/* output it locally */
orte_show_help("opal_sos_reporter.txt", "notifier message", false, output);
} else {
send_command(severity, errcode, output); send_command(severity, errcode, output);
}
free(output); free(output);
} }
} }
@ -330,13 +321,23 @@ static void mypeerlog(orte_notifier_base_severity_t severity, int errcode,
{ {
char *buf = orte_notifier_base_peer_log(errcode, peer_proc, msg, ap); char *buf = orte_notifier_base_peer_log(errcode, peer_proc, msg, ap);
if (NULL != buf && !ORTE_PROC_IS_HNP) { if (NULL != buf) {
if (ORTE_PROC_IS_HNP) {
/* output it locally */
orte_show_help("opal_sos_reporter.txt", "notifier message", false, buf);
} else {
send_command(severity, errcode, buf); send_command(severity, errcode, buf);
}
free(buf); free(buf);
} }
} }
static void myeventlog(const char *msg) static void myeventlog(const char *msg)
{ {
if (ORTE_PROC_IS_HNP) {
/* output it locally */
orte_show_help("opal_sos_reporter.txt", "notifier message", false, (char*)msg);
} else {
send_command(ORTE_NOTIFIER_NOTICE, ORTE_SUCCESS, (char *)msg); send_command(ORTE_NOTIFIER_NOTICE, ORTE_SUCCESS, (char *)msg);
}
} }

Просмотреть файл

@ -53,6 +53,7 @@
#endif #endif
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/if/base/base.h"
#include "orte/mca/errmgr/errmgr.h" #include "orte/mca/errmgr/errmgr.h"
#include "orte/mca/errmgr/base/base.h" #include "orte/mca/errmgr/base/base.h"
@ -299,6 +300,15 @@ void orte_info_open_components(void)
opal_pointer_array_add(&component_map, map); opal_pointer_array_add(&component_map, map);
#endif #endif
if (OPAL_SUCCESS != opal_if_base_open()) {
goto error;
}
map = OBJ_NEW(orte_info_component_map_t);
map->type = strdup("if");
map->components = &opal_if_components;
opal_pointer_array_add(&component_map, map);
/* OPAL's installdirs base open has already been called as part of /* OPAL's installdirs base open has already been called as part of
* opal_init_util() back in main(). * opal_init_util() back in main().
*/ */

Просмотреть файл

@ -196,6 +196,7 @@ int main(int argc, char *argv[])
#if OPAL_ENABLE_FT_CR == 1 #if OPAL_ENABLE_FT_CR == 1
opal_pointer_array_add(&mca_types, "crs"); opal_pointer_array_add(&mca_types, "crs");
#endif #endif
opal_pointer_array_add(&mca_types, "if");
#if !ORTE_DISABLE_FULL_SUPPORT #if !ORTE_DISABLE_FULL_SUPPORT
opal_pointer_array_add(&mca_types, "debugger"); opal_pointer_array_add(&mca_types, "debugger");

Просмотреть файл

@ -2,6 +2,7 @@
# -*- perl -*- # -*- perl -*-
# #
# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. # Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@ -30,7 +31,9 @@ my $CXX = "@CXX@";
my $extra_includes = "@ORTE_WRAPPER_EXTRA_INCLUDES@"; my $extra_includes = "@ORTE_WRAPPER_EXTRA_INCLUDES@";
my $extra_cppflags = "@ORTE_WRAPPER_EXTRA_CPPFLAGS@"; my $extra_cppflags = "@ORTE_WRAPPER_EXTRA_CPPFLAGS@";
my $extra_cflags = "@ORTE_WRAPPER_EXTRA_CFLAGS@"; my $extra_cflags = "@ORTE_WRAPPER_EXTRA_CFLAGS@";
my $extra_cflags_prefix = "@ORTE_WRAPPER_EXTRA_CFLAGS_PREFIX@";
my $extra_cxxflags = "@ORTE_WRAPPER_EXTRA_CXXFLAGS@"; my $extra_cxxflags = "@ORTE_WRAPPER_EXTRA_CXXFLAGS@";
my $extra_cxxflags_prefix = "@ORTE_WRAPPER_EXTRA_CXXFLAGS_PREFIX@";
my $extra_ldflags = "@ORTE_WRAPPER_EXTRA_LDFLAGS@"; my $extra_ldflags = "@ORTE_WRAPPER_EXTRA_LDFLAGS@";
my $extra_libs = "@ORTE_WRAPPER_EXTRA_LIBS@"; my $extra_libs = "@ORTE_WRAPPER_EXTRA_LIBS@";
#my $cxx_lib = "@ORTE_WRAPPER_CXX_LIB@"; #my $cxx_lib = "@ORTE_WRAPPER_CXX_LIB@";
@ -43,6 +46,7 @@ my $lang = "none";
my $comp = ""; # this is a sentinal from configure my $comp = ""; # this is a sentinal from configure
my $preproc_flags = $include_flag . $includedir; my $preproc_flags = $include_flag . $includedir;
my $comp_flags = ""; my $comp_flags = "";
my $comp_flags_prefix = "";
my $linker_flags = $libdir_flag . $libdir . " " . $extra_ldflags; my $linker_flags = $libdir_flag . $libdir . " " . $extra_ldflags;
my $libs = "-lopen-rte -lopen-pal " . $extra_libs; my $libs = "-lopen-rte -lopen-pal " . $extra_libs;
@ -78,12 +82,14 @@ if (basename($0) eq "ortecc") {
$comp = check_env("CC", $CC); $comp = check_env("CC", $CC);
$preproc_flags .= " " . add_extra_includes(); $preproc_flags .= " " . add_extra_includes();
$comp_flags = $extra_cflags; $comp_flags = $extra_cflags;
$comp_flags_prefix = $extra_cflags_prefix;
# no special libs for C # no special libs for C
} elsif (basename($0) eq "ortec++") { } elsif (basename($0) eq "ortec++") {
$lang = "C++"; $lang = "C++";
$comp = check_env("CXX", $CXX); $comp = check_env("CXX", $CXX);
$preproc_flags .= " " . add_extra_includes(); $preproc_flags .= " " . add_extra_includes();
$comp_flags = $extra_cxxflags; $comp_flags = $extra_cxxflags;
$comp_flags_prefix = $extra_cxxflags_prefix;
# $libs = $cxx_lib . " " . $libs; # $libs = $cxx_lib . " " . $libs;
} }
@ -142,8 +148,12 @@ my @exec_argv = ();
# assemble command # assemble command
push(@exec_argv, split(' ', $comp)); push(@exec_argv, split(' ', $comp));
# Per https://svn.open-mpi.org/trac/ompi/ticket/2201, add all the user # Per tickets https://svn.open-mpi.org/trac/ompi/ticket/2474, and
# arguments before anything else. # https://svn.open-mpi.org/trac/ompi/ticket/2201, construct command
# with some system arguments before user arguments and some after.
if ($want_compile == 1) {
push(@exec_argv, split(' ', $comp_flags_prefix));
}
push(@exec_argv, @appargs); push(@exec_argv, @appargs);
if ($want_preproc == 1) { if ($want_preproc == 1) {
push(@exec_argv, split(' ', $preproc_flags)); push(@exec_argv, split(' ', $preproc_flags));

Просмотреть файл

@ -14,6 +14,7 @@ compiler_flags_env=CXXFLAGS
compiler=@CXX@ compiler=@CXX@
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@ extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@ preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
compiler_flags_prefix=@ORTE_WRAPPER_EXTRA_CXXFLAGS_PREFIX@
compiler_flags=@ORTE_WRAPPER_EXTRA_CXXFLAGS@ compiler_flags=@ORTE_WRAPPER_EXTRA_CXXFLAGS@
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@ linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@ libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@

Просмотреть файл

@ -14,6 +14,7 @@ compiler_flags_env=CFLAGS
compiler=@CC@ compiler=@CC@
extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@ extra_includes=@ORTE_WRAPPER_EXTRA_INCLUDES@
preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@ preprocessor_flags=@ORTE_WRAPPER_EXTRA_CPPFLAGS@
compiler_flags_prefix=@ORTE_WRAPPER_EXTRA_CFLAGS_PREFIX@
compiler_flags=@ORTE_WRAPPER_EXTRA_CFLAGS@ compiler_flags=@ORTE_WRAPPER_EXTRA_CFLAGS@
linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@ linker_flags=@ORTE_WRAPPER_EXTRA_LDFLAGS@
libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@ libs=-lopen-rte @ORTE_WRAPPER_EXTRA_LIBS@