1
1

Further detail check for external PMIx

Per today's telecon, check for supported version and do not use anything less than 1.2.x. Sadly, we don't include the last piece of the version triplet in the version file and so we cannot check for 1.2.5.

If someone explicitly points us at an external installation that isn't acceptable, then error out

Add PMIx support to summary

Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
Ralph Castain 2018-07-10 10:41:09 -07:00
родитель fdca304268
Коммит 09963affba

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

@ -255,7 +255,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
AS_IF([test "$with_pmix" = "internal"],
[AC_MSG_RESULT([yes])
opal_external_pmix_happy=no
opal_prun_happy=yes],
opal_prun_happy=yes
opal_external_pmix_version=internal],
[AC_MSG_RESULT([no])
# check for external pmix lib */
@ -276,22 +277,28 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
[AC_MSG_RESULT([found])
opal_external_pmix_header_happy=yes],
[AC_MSG_RESULT([not found])
opal_external_pmix_header_happy=no])])
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],
[pmix_ext_install_libdir=$with_pmix_libdir],
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
[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],
[pmix_ext_install_libdir=$with_pmix_libdir/lib64],
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
[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],
[pmix_ext_install_libdir=$with_pmix_libdir/lib],
[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
@ -299,11 +306,14 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
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],
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
[AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
[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],
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
[AC_MSG_RESULT([found])
pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
[AC_MSG_RESULT([not found])
AC_MSG_ERROR([Cannot continue])])])])
@ -313,15 +323,15 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
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
# 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_version=114
opal_external_have_pmix1=1
opal_external_pmix_happy=yes],
opal_external_pmix_happy=no
opal_external_pmix_version=internal],
[AC_MSG_RESULT([version file found])
opal_external_pmix_version_found=0])
@ -374,12 +384,12 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
[AC_MSG_CHECKING([version 1x])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
#include <pmix_version.h>
#if (PMIX_VERSION_MAJOR != 1L)
#error "not version 1"
#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=1.2.x
opal_external_pmix_version_found=1
opal_external_have_pmix1=1
opal_external_pmix_happy=yes],
@ -398,6 +408,14 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
])
])
# 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])])
AC_MSG_CHECKING([PMIx version to be used])
AS_IF([test "$opal_external_pmix_happy" = "yes"],
[AC_MSG_RESULT([external($opal_external_pmix_version)])
@ -410,5 +428,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
AC_DEFINE_UNQUOTED([OPAL_PMIX_V1],[$opal_external_have_pmix1],
[Whether the external PMIx library is v1])
AM_CONDITIONAL([OPAL_WANT_PRUN], [test "$opal_prun_happy" = "yes"])
OPAL_SUMMARY_ADD([[Miscellaneous]],[[PMIx support]], [opal_pmix], [$opal_external_pmix_version])
OPAL_VAR_SCOPE_POP
])