1
1

Update slurm pmi configury to account for pmix

When Slurm is built against PMIx, some installations place a copy of the
PMIx library that Slurm is linking against in the Slurm PMI location.
Current configury ignores that location. The desired behavior is to look
for a PMIx lib in that location when --with-pmi is given. If the user
also specifies --with-pmix and gives a different location, then override
anything previously found and look for it where the user directed.

Signed-off-by: Ralph Castain <rhc@pmix.org>
(cherry picked from commit cd1b5641beca7f158360983cd31f7297548b0a3c)
Этот коммит содержится в:
Ralph Castain 2019-02-21 11:33:35 -08:00
родитель c0ee7add0f
Коммит 0322ad028d
4 изменённых файлов: 379 добавлений и 30 удалений

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

@ -13,7 +13,7 @@
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2011-2014 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2019 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
@ -152,6 +152,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
check_pmi_lib_dir=
default_pmi_libloc=
slurm_pmi_found=
opal_enable_pmix=no
AC_MSG_CHECKING([if user requested PMI support])
AS_IF([test "$with_pmi" = "no"],
@ -208,17 +209,24 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_pmi2_rpath="$pmi2_rpath"
AC_SUBST(opal_pmi2_rpath)])])
# check for pmix lib installed by slurm */
slurm_pmix_found=no
OPAL_CHECK_PMIX_LIB([$check_pmi_install_dir],
[$check_pmi_lib_dir],
[opal_enable_pmix=yes],
[opal_enable_pmix=no])
# since support was explicitly requested, then we should error out
# if we didn't find the required support
AC_MSG_CHECKING([can PMI support be built])
AS_IF([test "$opal_enable_pmi1" != "yes" && test "$opal_enable_pmi2" != "yes"],
AS_IF([test "$opal_enable_pmi1" != "yes" && test "$opal_enable_pmi2" != "yes" && test "$opal_enable_pmix" != "yes"],
[AC_MSG_RESULT([no])
AC_MSG_WARN([PMI support requested (via --with-pmi) but neither pmi.h])
AC_MSG_WARN([nor pmi2.h were found under locations:])
AC_MSG_WARN([PMI support requested (via --with-pmi) but neither pmi.h,])
AC_MSG_WARN([pmi2.h or pmix.h were found under locations:])
AC_MSG_WARN([ $check_pmi_install_dir])
AC_MSG_WARN([ $check_pmi_install_dir/slurm])
AC_MSG_WARN([Specified path: $with_pmi])
AC_MSG_WARN([OR neither libpmi nor libpmi2 were found under:])
AC_MSG_WARN([OR neither libpmi, libpmi2, or libpmix were found under:])
AC_MSG_WARN([ $check_pmi_lib_dir/lib])
AC_MSG_WARN([ $check_pmi_lib_dir/lib64])
AC_MSG_WARN([Specified path: $with_pmi_libdir])
@ -229,6 +237,158 @@ AC_DEFUN([OPAL_CHECK_PMI],[
OPAL_VAR_SCOPE_POP
])
# define an internal function for checking the existence
# and validity of an external PMIx library
#
# OPAL_CHECK_PMIX_LIB(installdir, libdir, [action-if-valid], [action-if-not-valid])
AC_DEFUN([OPAL_CHECK_PMIX_LIB],[
opal_external_pmix_happy=no
# Make sure we have the headers and libs in the correct location
AC_MSG_CHECKING([for pmix.h in $1])
files=`ls $1/pmix.h 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
opal_external_pmix_header_happy=yes],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([for pmix.h in $1/include])
files=`ls $1/include/pmix.h 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
opal_external_pmix_header_happy=yes],
[AC_MSG_RESULT([not found])
opal_external_pmix_header_happy=no])])
AS_IF([test "$opal_external_pmix_header_happy" = "yes"],
[AS_IF([test -n "$2"],
[AC_MSG_CHECKING([libpmix.* in $2])
files=`ls $2/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$2],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $2/lib64])
files=`ls $2/lib64/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$2/lib64],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $2/lib])
files=`ls $2/lib/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$2/lib],
[AC_MSG_RESULT([not found])
AC_MSG_ERROR([Cannot continue])])])])],
[# check for presence of lib64 directory - if found, see if the
# desired library is present and matches our build requirements
AC_MSG_CHECKING([libpmix.* in $1/lib64])
files=`ls $1/lib64/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$1/lib64],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $1/lib])
files=`ls $1/lib/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$1/lib],
[AC_MSG_RESULT([not found])
AC_MSG_ERROR([Cannot continue])])])])
# check the version
opal_external_pmix_save_CPPFLAGS=$CPPFLAGS
opal_external_pmix_save_LDFLAGS=$LDFLAGS
opal_external_pmix_save_LIBS=$LIBS
# if the pmix_version.h file does not exist, then
# this must be from a pre-1.1.5 version OMPI does
# NOT support anything older than v1.2.5
AC_MSG_CHECKING([PMIx version])
CPPFLAGS="-I$1/include $CPPFLAGS"
AS_IF([test "x`ls $1/include/pmix_version.h 2> /dev/null`" = "x"],
[AC_MSG_RESULT([version file not found - assuming v1.1.4])
opal_external_pmix_version_found=1
opal_external_pmix_happy=no
opal_external_pmix_version=internal],
[AC_MSG_RESULT([version file found])
opal_external_pmix_version_found=0])
# if it does exist, then we need to parse it to find
# the actual release series
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 4x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR < 4L)
#error "not version 4 or above"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=4x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 3x or above])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 3L)
#error "not version 3"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=3x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 2x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 2L)
#error "not version 2"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=2x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 1x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 1L && PMIX_VERSION_MINOR != 2L)
#error "not version 1.2.x"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=1x
opal_external_pmix_version_found=1
opal_external_have_pmix1=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "x$opal_external_pmix_version" = "x"],
[AC_MSG_WARN([External PMIx support detected, but version])
AC_MSG_WARN([information of the external lib could not])
AC_MSG_WARN([be detected])
opal_external_pmix_happy=no])
CPPFLAGS=$opal_external_pmix_save_CPPFLAGS
LDFLAGS=$opal_external_pmix_save_LDFLAGS
LIBS=$opal_external_pmix_save_LIBS
])
AS_IF([test "$opal_external_pmix_happy" = "yes"],
[$3], [$4])
])
AC_DEFUN([OPAL_CHECK_PMIX],[
OPAL_VAR_SCOPE_PUSH([opal_external_pmix_save_CPPFLAGS opal_external_pmix_save_LDFLAGS opal_external_pmix_save_LIBS])
@ -247,13 +407,11 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
AC_MSG_WARN([an external copy that you supply.])
AC_MSG_ERROR([Cannot continue])])
AC_MSG_CHECKING([if user requested internal PMIx support($with_pmix)])
opal_external_pmix_happy=no
opal_external_have_pmix1=0
AS_IF([test "$with_pmix" = "internal"],
[AC_MSG_RESULT([yes])
AS_IF([test "$opal_enable_pmix" = "no"],
[AC_MSG_CHECKING([if user requested internal PMIx support($with_pmix)])
opal_external_pmix_happy=no
<<<<<<< HEAD
opal_external_pmix_version=internal],
[AC_MSG_RESULT([no])
@ -398,24 +556,216 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
AC_MSG_WARN([of the external lib was not supported or the required])
AC_MSG_WARN([header/library files were not found])
AC_MSG_ERROR([Cannot continue])])
||||||| parent of cd1b5641be... Update slurm pmi configury to account for pmix
opal_external_pmix_version=internal],
# Final check - if they didn't point us explicitly at an external version
# but we found one anyway, use the internal version if it is higher
AS_IF([test "$opal_external_pmix_version" != "internal" && (test -z "$with_pmix" || test "$with_pmix" = "yes")],
[AS_IF([test "$opal_external_pmix_version" != "3x"],
[AC_MSG_WARN([discovered external PMIx version is less than internal version 3.x])
AC_MSG_WARN([using internal PMIx])
[AC_MSG_RESULT([no])
# check for external pmix lib */
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "external"],
[pmix_ext_install_dir=/usr],
[pmix_ext_install_dir=$with_pmix])
# Make sure we have the headers and libs in the correct location
AC_MSG_CHECKING([for pmix.h in $pmix_ext_install_dir])
files=`ls $pmix_ext_install_dir/pmix.h 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
opal_external_pmix_header_happy=yes],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([for pmix.h in $pmix_ext_install_dir/include])
files=`ls $pmix_ext_install_dir/include/pmix.h 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
opal_external_pmix_header_happy=yes],
[AC_MSG_RESULT([not found])
opal_external_pmix_header_happy=no
opal_external_pmix_version=internal])])
AS_IF([test "$opal_external_pmix_header_happy" = "yes"],
[AS_IF([test -n "$with_pmix_libdir"],
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir])
files=`ls $with_pmix_libdir/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$with_pmix_libdir],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
files=`ls $with_pmix_libdir/lib64/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$with_pmix_libdir/lib64],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
files=`ls $with_pmix_libdir/lib/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$with_pmix_libdir/lib],
[AC_MSG_RESULT([not found])
AC_MSG_ERROR([Cannot continue])])])])],
[# check for presence of lib64 directory - if found, see if the
# desired library is present and matches our build requirements
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib64])
files=`ls $pmix_ext_install_dir/lib64/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
[AC_MSG_RESULT([not found])
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
files=`ls $pmix_ext_install_dir/lib/libpmix.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt 0],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
[AC_MSG_RESULT([not found])
AC_MSG_ERROR([Cannot continue])])])])
# check the version
opal_external_pmix_save_CPPFLAGS=$CPPFLAGS
opal_external_pmix_save_LDFLAGS=$LDFLAGS
opal_external_pmix_save_LIBS=$LIBS
# if the pmix_version.h file does not exist, then
# this must be from a pre-1.1.5 version OMPI does
# NOT support anything older than v1.2.5
AC_MSG_CHECKING([PMIx version])
CPPFLAGS="-I$pmix_ext_install_dir/include $CPPFLAGS"
AS_IF([test "x`ls $pmix_ext_install_dir/include/pmix_version.h 2> /dev/null`" = "x"],
[AC_MSG_RESULT([version file not found - assuming v1.1.4])
opal_external_pmix_version_found=1
opal_external_pmix_happy=no
opal_external_pmix_version=internal],
[AC_MSG_RESULT([version file found])
opal_external_pmix_version_found=0])
# if it does exist, then we need to parse it to find
# the actual release series
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 4x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR < 4L)
#error "not version 4 or above"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=4x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 3x or above])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 3L)
#error "not version 3"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=3x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 2x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 2L)
#error "not version 2"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=2x
opal_external_pmix_version_found=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "$opal_external_pmix_version_found" = "0"],
[AC_MSG_CHECKING([version 1x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 1L && PMIX_VERSION_MINOR != 2L)
#error "not version 1.2.x"
#endif
], [])],
[AC_MSG_RESULT([found])
opal_external_pmix_version=1x
opal_external_pmix_version_found=1
opal_external_have_pmix1=1
opal_external_pmix_happy=yes],
[AC_MSG_RESULT([not found])])])
AS_IF([test "x$opal_external_pmix_version" = "x"],
[AC_MSG_WARN([External PMIx support detected, but version])
AC_MSG_WARN([information of the external lib could not])
AC_MSG_WARN([be detected])
AC_MSG_WARN([Internal version will be used])
opal_external_pmix_happy=no])
CPPFLAGS=$opal_external_pmix_save_CPPFLAGS
LDFLAGS=$opal_external_pmix_save_LDFLAGS
LIBS=$opal_external_pmix_save_LIBS
])
])
# Final check - if they explicitly pointed us at an external
# installation that wasn't acceptable, then error out
AS_IF([test -n "$with_pmix" && test "$with_pmix" != "yes" && test "$with_pmix" != "external" && test "$with_pmix" != "internal" && test "$opal_external_pmix_happy" = "no"],
[AC_MSG_WARN([External PMIx support requested, but either the version])
AC_MSG_WARN([of the external lib was not supported or the required])
AC_MSG_WARN([header/library files were not found])
AC_MSG_ERROR([Cannot continue])])
=======
pmix_ext_install_libdir=
pmix_ext_install_dir=
>>>>>>> cd1b5641be... Update slurm pmi configury to account for pmix
AS_IF([test "$with_pmix" = "internal"],
[AC_MSG_RESULT([yes])
opal_external_pmix_happy=no
opal_external_pmix_version=internal
opal_external_pmix_happy=no])])
opal_enable_pmix=yes],
AC_MSG_CHECKING([PMIx version to be used])
AS_IF([test "$opal_external_pmix_happy" = "yes"],
[AC_MSG_RESULT([external($opal_external_pmix_version)])
AS_IF([test "$pmix_ext_install_dir" != "/usr"],
[opal_external_pmix_CPPFLAGS="-I$pmix_ext_install_dir/include"
opal_external_pmix_LDFLAGS=-L$pmix_ext_install_libdir])
opal_external_pmix_LIBS=-lpmix],
[AC_MSG_RESULT([internal])])
[AC_MSG_RESULT([no])
# check for external pmix lib */
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "external"],
[pmix_ext_install_dir=/usr],
[pmix_ext_install_dir=$with_pmix])
AS_IF([test -n "$with_pmix_libdir"],
[pmix_ext_install_libdir=$with_pmix_libdir])
OPAL_CHECK_PMIX_LIB([$pmix_ext_install_dir],
[$pmix_ext_install_libdir],
[opal_external_pmix_happy=yes
opal_enable_pmix=yes],
[opal_external_pmix_happy=no])])
# Final check - if they explicitly pointed us at an external
# installation that wasn't acceptable, then error out
AS_IF([test -n "$with_pmix" && test "$with_pmix" != "yes" && test "$with_pmix" != "external" && test "$with_pmix" != "internal" && test "$opal_external_pmix_happy" = "no"],
[AC_MSG_WARN([External PMIx support requested, but either the version])
AC_MSG_WARN([of the external lib was not supported or the required])
AC_MSG_WARN([header/library files were not found])
AC_MSG_ERROR([Cannot continue])])
# Final check - if they didn't point us explicitly at an external version
# but we found one anyway, use the internal version if it is higher
AS_IF([test "$opal_external_pmix_version" != "internal" && (test -z "$with_pmix" || test "$with_pmix" = "yes")],
[AS_IF([test "$opal_external_pmix_version" != "3x"],
[AC_MSG_WARN([discovered external PMIx version is less than internal version 3.x])
AC_MSG_WARN([using internal PMIx])
opal_external_pmix_version=internal
opal_external_pmix_happy=no])])
])
AS_IF([test "$opal_enable_pmix" = "yes"],
[AC_MSG_CHECKING([PMIx version to be used])
AS_IF([test "$opal_external_pmix_happy" = "yes"],
[AC_MSG_RESULT([external($opal_external_pmix_version)])
AS_IF([test "$pmix_ext_install_dir" != "/usr"],
[opal_external_pmix_CPPFLAGS="-I$pmix_ext_install_dir/include"
opal_external_pmix_LDFLAGS=-L$pmix_ext_install_libdir])
opal_external_pmix_LIBS=-lpmix],
[AC_MSG_RESULT([internal])])])
AC_DEFINE_UNQUOTED([OPAL_PMIX_V1],[$opal_external_have_pmix1],
[Whether the external PMIx library is v1])

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

@ -19,7 +19,7 @@
# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
# Copyright (c) 2013-2019 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2017 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
@ -260,6 +260,7 @@ m4_ifdef([project_oshmem],
OPAL_CONFIGURE_OPTIONS
OPAL_CHECK_OS_FLAVORS
OPAL_CHECK_CUDA
OPAL_CHECK_PMI
OPAL_CHECK_PMIX
m4_ifdef([project_orte], [ORTE_CONFIGURE_OPTIONS])
m4_ifdef([project_ompi], [OMPI_CONFIGURE_OPTIONS])

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

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2014 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2019 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -14,7 +14,6 @@ AC_DEFUN([MCA_opal_pmix_s1_CONFIG], [
AC_CONFIG_FILES([opal/mca/pmix/s1/Makefile])
AC_REQUIRE([OPAL_CHECK_UGNI])
AC_REQUIRE([OPAL_CHECK_PMI])
# Evaluate succeed / fail
AS_IF([test "$opal_enable_pmi1" = "yes" && test "$opal_check_ugni_happy" = "no"],

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

@ -1,6 +1,6 @@
# -*- shell-script -*-
#
# Copyright (c) 2014 Intel, Inc. All rights reserved.
# Copyright (c) 2014-2019 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -14,7 +14,6 @@ AC_DEFUN([MCA_opal_pmix_s2_CONFIG], [
AC_CONFIG_FILES([opal/mca/pmix/s2/Makefile])
AC_REQUIRE([OPAL_CHECK_UGNI])
AC_REQUIRE([OPAL_CHECK_PMI])
# Evaluate succeed / fail
AS_IF([test "$opal_enable_pmi2" = "yes" && test "$opal_check_ugni_happy" = "no"],