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>
Этот коммит содержится в:
родитель
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
|
||||
])
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user