Skip to content

Commit 8c4b0ec

Browse files
author
Ralph Castain
committed
Support PMIx versions > 2
Terminate configure with error if PMIx version is less than 1.2.0. Direct all versions above 2.x to the ext2x component. Signed-off-by: Ralph Castain <[email protected]>
1 parent 8be3c8c commit 8c4b0ec

File tree

1 file changed

+32
-30
lines changed

1 file changed

+32
-30
lines changed

config/opal_check_pmi.m4

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
1414
# Copyright (c) 2011-2014 Los Alamos National Security, LLC. All rights
1515
# reserved.
16-
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
16+
# Copyright (c) 2014-2018 Intel, Inc. All rights reserved.
1717
# Copyright (c) 2014-2018 Research Organization for Information Science
1818
# and Technology (RIST). All rights reserved.
1919
# Copyright (c) 2016 IBM Corporation. All rights reserved.
@@ -251,7 +251,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
251251
opal_external_have_pmix1=0
252252
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "internal"],
253253
[AC_MSG_RESULT([no])
254-
opal_external_pmix_happy=no],
254+
opal_external_pmix_happy=no
255+
opal_external_pmix_version=internal],
255256
256257
[AC_MSG_RESULT([yes])
257258
# check for external pmix lib */
@@ -266,27 +267,35 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
266267
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir])
267268
files=`ls $with_pmix_libdir/libpmix.* 2> /dev/null | wc -l`
268269
AS_IF([test "$files" -gt 0],
269-
[pmix_ext_install_libdir=$with_pmix_libdir],
270-
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
270+
[AC_MSG_RESULT([found])
271+
pmix_ext_install_libdir=$with_pmix_libdir],
272+
[AC_MSG_RESULT([not found])
273+
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
271274
files=`ls $with_pmix_libdir/lib64/libpmix.* 2> /dev/null | wc -l`
272275
AS_IF([test "$files" -gt 0],
273-
[pmix_ext_install_libdir=$with_pmix_libdir/lib64],
274-
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
276+
[AC_MSG_RESULT([found])
277+
pmix_ext_install_libdir=$with_pmix_libdir/lib64],
278+
[AC_MSG_RESULT([not found])
279+
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
275280
files=`ls $with_pmix_libdir/lib/libpmix.* 2> /dev/null | wc -l`
276281
AS_IF([test "$files" -gt 0],
277-
[pmix_ext_install_libdir=$with_pmix_libdir/lib],
282+
[AC_MSG_RESULT([found])
283+
pmix_ext_install_libdir=$with_pmix_libdir/lib],
278284
[AC_MSG_RESULT([not found])
279285
AC_MSG_ERROR([Cannot continue])])])])],
280286
[# check for presence of lib64 directory - if found, see if the
281287
# desired library is present and matches our build requirements
282288
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib64])
283289
files=`ls $pmix_ext_install_dir/lib64/libpmix.* 2> /dev/null | wc -l`
284290
AS_IF([test "$files" -gt 0],
285-
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
286-
[AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
291+
[AC_MSG_RESULT([found])
292+
pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
293+
[AC_MSG_RESULT([not found])
294+
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
287295
files=`ls $pmix_ext_install_dir/lib/libpmix.* 2> /dev/null | wc -l`
288296
AS_IF([test "$files" -gt 0],
289-
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
297+
[AC_MSG_RESULT([found])
298+
pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
290299
[AC_MSG_RESULT([not found])
291300
AC_MSG_ERROR([Cannot continue])])])])
292301
@@ -301,33 +310,21 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
301310
CPPFLAGS="-I$pmix_ext_install_dir/include $CPPFLAGS"
302311
AS_IF([test "x`ls $pmix_ext_install_dir/include/pmix_version.h 2> /dev/null`" = "x"],
303312
[AC_MSG_RESULT([version file not found - assuming v1.1.4])
304-
opal_external_pmix_version_found=1
305-
opal_external_pmix_version=114
306-
opal_external_have_pmix1=1],
313+
AC_MSG_WARN([External PMIx support requested, but version])
314+
AC_MSG_WARN([of the external lib is less than the minimum])
315+
AC_MSG_WARN([v1.2.x required by Open MPI.])
316+
AC_MSG_ERROR([cannot continue])],
307317
[AC_MSG_RESULT([version file found])
308318
opal_external_pmix_version_found=0])
309319
310320
# if it does exist, then we need to parse it to find
311321
# the actual release series
312322
AS_IF([test "$opal_external_pmix_version_found" = "0"],
313-
[AC_MSG_CHECKING([version 3x])
314-
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
315-
#include <pmix_version.h>
316-
#if (PMIX_VERSION_MAJOR != 3L)
317-
#error "not version 3"
318-
#endif
319-
], [])],
320-
[AC_MSG_RESULT([found])
321-
opal_external_pmix_version=3x
322-
opal_external_pmix_version_found=1],
323-
[AC_MSG_RESULT([not found])])])
324-
325-
AS_IF([test "$opal_external_pmix_version_found" = "0"],
326-
[AC_MSG_CHECKING([version 2x])
323+
[AC_MSG_CHECKING([version 2x or above])
327324
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
328325
#include <pmix_version.h>
329-
#if (PMIX_VERSION_MAJOR != 2L)
330-
#error "not version 2"
326+
#if (PMIX_VERSION_MAJOR < 2L)
327+
#error "not version 2 or above"
331328
#endif
332329
], [])],
333330
[AC_MSG_RESULT([found])
@@ -339,7 +336,7 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
339336
[AC_MSG_CHECKING([version 1x])
340337
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
341338
#include <pmix_version.h>
342-
#if (PMIX_VERSION_MAJOR != 1L)
339+
#if (PMIX_VERSION_MAJOR != 1L && PMIX_VERSION_MINOR != 2L)
343340
#error "not version 1"
344341
#endif
345342
], [])],
@@ -367,5 +364,10 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
367364
368365
AC_DEFINE_UNQUOTED([OPAL_PMIX_V1],[$opal_external_have_pmix1],
369366
[Whether the external PMIx library is v1])
367+
368+
AS_IF([test "$opal_external_pmix_version" = "1x"],
369+
[OPAL_SUMMARY_ADD([[Miscellaneous]],[[PMIx support]], [opal_pmix], [1.2.x: WARNING - DYNAMIC OPS NOT SUPPORTED])],
370+
[OPAL_SUMMARY_ADD([[Miscellaneous]],[[PMIx support]], [opal_pmix], [$opal_external_pmix_version])])
371+
370372
OPAL_VAR_SCOPE_POP
371373
])

0 commit comments

Comments
 (0)