From 8b4825ff378b0d3417c8574d093c996627696943 Mon Sep 17 00:00:00 2001 From: Brian Barrett Date: Wed, 3 Feb 2010 05:07:40 +0000 Subject: [PATCH] Updates to make trunk run on Catamount again: * Don't build the pstat component if all defines needed aren't there. * Update platform file to work better * Work around two places that depended on modex being operational This commit was SVN r22536. --- contrib/platform/redstorm | 6 +++++- ompi/communicator/comm_cid.c | 19 ++++++++++------ ompi/proc/proc.c | 36 +++++++++++++++++-------------- opal/mca/pstat/linux/configure.m4 | 12 ++++++++--- 4 files changed, 47 insertions(+), 26 deletions(-) diff --git a/contrib/platform/redstorm b/contrib/platform/redstorm index 2e2ad826ef..6fea675a65 100644 --- a/contrib/platform/redstorm +++ b/contrib/platform/redstorm @@ -6,7 +6,7 @@ enable_pretty_print_stacktrace=no enable_dlopen=no with_portals_config=redstorm with_memory_manager=none -enable_mca_no_build=carto-file,maffinity,paffinity,pstat-linux,btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-v +enable_mca_no_build=btl-sm,coll-hierarch,coll-sm,common-sm,mpool-sm,pml-dr,pml-v enable_contrib_no_build=libnbc,vt with_rte_support=no enable_heterogeneous=no @@ -17,6 +17,8 @@ enable_binaries=no enable_script_wrapper_compilers=yes ompi_cv_c_word_size_align=no +ompi_cv_f77_sizeof_CHARACTER=${ompi_cv_f77_sizeof_CHARACTER=1} +ompi_cv_f77_alignment_CHARACTER=${ompi_cv_f77_alignment_CHARACTER=1} ompi_cv_f77_sizeof_LOGICAL=${ompi_cv_f77_sizeof_LOGICAL=4} ompi_cv_f77_alignment_LOGICAL=${ompi_cv_f77_alignment_LOGICAL=4} ompi_cv_f77_sizeof_LOGICALp1=${ompi_cv_f77_sizeof_LOGICALp1=1} @@ -62,6 +64,8 @@ ompi_cv_f77_alignment_COMPLEXp32=${ompi_cv_f77_alignment_COMPLEXp32=8} ompi_cv_f77_true_value=${ompi_cv_f77_true_value=-1} +ompi_cv_f90_sizeof_CHARACTER=${ompi_cv_f90_sizeof_CHARACTER=1} +ompi_cv_f90_alignment_CHARACTER=${ompi_cv_f90_alignment_CHARACTER=1} ompi_cv_f90_sizeof_LOGICAL=${ompi_cv_f90_sizeof_LOGICAL=4} ompi_cv_f90_alignment_LOGICAL=${ompi_cv_f90_alignment_LOGICAL=4} ompi_cv_f90_sizeof_LOGICALp1=${ompi_cv_f90_sizeof_LOGICALp1=1} diff --git a/ompi/communicator/comm_cid.c b/ompi/communicator/comm_cid.c index 38895b47b5..15385a943d 100644 --- a/ompi/communicator/comm_cid.c +++ b/ompi/communicator/comm_cid.c @@ -136,13 +136,20 @@ int ompi_comm_cid_init (void) for ( i=0; iproc_name.vpid != ORTE_PROC_MY_NAME->vpid) { - if (OMPI_SUCCESS != (ret = ompi_modex_recv_key_value("OMPI_ARCH", proc, (void*)&(proc->proc_arch), OPAL_UINT32))) { + ret = ompi_modex_recv_key_value("OMPI_ARCH", proc, (void*)&(proc->proc_arch), OPAL_UINT32); + if (OMPI_SUCCESS == ret) { + /* if arch is different than mine, create a new convertor for this proc */ + if (proc->proc_arch != opal_local_arch) { +#if OPAL_ENABLE_HETEROGENEOUS_SUPPORT + OBJ_RELEASE(proc->proc_convertor); + proc->proc_convertor = opal_convertor_create(proc->proc_arch, 0); +#else + orte_show_help("help-mpi-runtime", + "heterogeneous-support-unavailable", + true, orte_process_info.nodename, + proc->proc_hostname == NULL ? "" : + proc->proc_hostname); + OPAL_THREAD_UNLOCK(&ompi_proc_lock); + return OMPI_ERR_NOT_SUPPORTED; +#endif + } + } else if (OMPI_ERR_NOT_IMPLEMENTED == ret) { + proc->proc_arch = opal_local_arch; + } else { OPAL_THREAD_UNLOCK(&ompi_proc_lock); return ret; } - /* if arch is different than mine, create a new convertor for this proc */ - if (proc->proc_arch != opal_local_arch) { -#if OPAL_ENABLE_HETEROGENEOUS_SUPPORT - OBJ_RELEASE(proc->proc_convertor); - proc->proc_convertor = opal_convertor_create(proc->proc_arch, 0); -#else - orte_show_help("help-mpi-runtime", - "heterogeneous-support-unavailable", - true, orte_process_info.nodename, - proc->proc_hostname == NULL ? "" : - proc->proc_hostname); - OPAL_THREAD_UNLOCK(&ompi_proc_lock); - return OMPI_ERR_NOT_SUPPORTED; -#endif - } } } OPAL_THREAD_UNLOCK(&ompi_proc_lock); diff --git a/opal/mca/pstat/linux/configure.m4 b/opal/mca/pstat/linux/configure.m4 index a97701ae39..9c39c3c377 100644 --- a/opal/mca/pstat/linux/configure.m4 +++ b/opal/mca/pstat/linux/configure.m4 @@ -34,7 +34,13 @@ AC_DEFUN([MCA_pstat_linux_CONFIG],[ ;; esac - AS_IF([test "$pstat_linux_happy" = "yes"], - [$1], - [$2]) + AS_IF([test "$pstat_linux_happy" = "yes"], + [AC_CHECK_DECLS([HZ], + [], [pstat_linux_happy="no"], [AC_INCLUDES_DEFAULT +#include +])]) + + AS_IF([test "$pstat_linux_happy" = "yes"], + [$1], + [$2]) ])