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-2017 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.
@@ -253,7 +253,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
253253 AS_IF ( [ test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "internal"] ,
254254 [ AC_MSG_RESULT ( [ no] )
255255 opal_external_pmix_happy=no
256- opal_prun_happy=yes] ,
256+ opal_prun_happy=yes
257+ opal_external_pmix_version=internal] ,
257258
258259 [ AC_MSG_RESULT ( [ yes] )
259260 # check for external pmix lib */
@@ -272,23 +273,29 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
272273 [ AC_MSG_CHECKING ( [ libpmix.* in $with_pmix_libdir/lib64] )
273274 files=`ls $with_pmix_libdir/lib64/libpmix.* 2> /dev/null | wc -l`
274275 AS_IF ( [ test "$files" -gt 0] ,
275- [ pmix_ext_install_libdir=$with_pmix_libdir/lib64] ,
276- [ 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] )
277280 files=`ls $with_pmix_libdir/lib/libpmix.* 2> /dev/null | wc -l`
278281 AS_IF ( [ test "$files" -gt 0] ,
279- [ pmix_ext_install_libdir=$with_pmix_libdir/lib] ,
282+ [ AC_MSG_RESULT ( [ found] )
283+ pmix_ext_install_libdir=$with_pmix_libdir/lib] ,
280284 [ AC_MSG_RESULT ( [ not found] )
281285 AC_MSG_ERROR ( [ Cannot continue] ) ] ) ] ) ] ) ] ,
282286 [ # check for presence of lib64 directory - if found, see if the
283287 # desired library is present and matches our build requirements
284288 AC_MSG_CHECKING ( [ libpmix.* in $pmix_ext_install_dir/lib64] )
285289 files=`ls $pmix_ext_install_dir/lib64/libpmix.* 2> /dev/null | wc -l`
286290 AS_IF ( [ test "$files" -gt 0] ,
287- [ pmix_ext_install_libdir=$pmix_ext_install_dir/lib64] ,
288- [ 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] )
289295 files=`ls $pmix_ext_install_dir/lib/libpmix.* 2> /dev/null | wc -l`
290296 AS_IF ( [ test "$files" -gt 0] ,
291- [ pmix_ext_install_libdir=$pmix_ext_install_dir/lib] ,
297+ [ AC_MSG_RESULT ( [ found] )
298+ pmix_ext_install_libdir=$pmix_ext_install_dir/lib] ,
292299 [ AC_MSG_RESULT ( [ not found] )
293300 AC_MSG_ERROR ( [ Cannot continue] ) ] ) ] ) ] )
294301
@@ -303,33 +310,22 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
303310 CPPFLAGS="-I$pmix_ext_install_dir/include $CPPFLAGS"
304311 AS_IF ( [ test "x`ls $pmix_ext_install_dir/include/pmix_version.h 2> /dev/null`" = "x"] ,
305312 [ AC_MSG_RESULT ( [ version file not found - assuming v1.1.4] )
306- opal_external_pmix_version_found=1
307- opal_external_pmix_version=114
308- opal_external_have_pmix1=1] ,
313+ # we don't support anything earlier than 1.2.x
314+ AC_MSG_WARN ( [ External PMIx support requested, but version] )
315+ AC_MSG_WARN ( [ of the external lib is less than the minimum] )
316+ AC_MSG_WARN ( [ v1.2.x required by Open MPI.] )
317+ AC_MSG_ERROR ( [ cannot continue] ) ] ,
309318 [ AC_MSG_RESULT ( [ version file found] )
310319 opal_external_pmix_version_found=0] )
311320
312321 # if it does exist, then we need to parse it to find
313322 # the actual release series
314323 AS_IF ( [ test "$opal_external_pmix_version_found" = "0"] ,
315- [ AC_MSG_CHECKING ( [ version 3x ] )
324+ [ AC_MSG_CHECKING ( [ version 2x or above ] )
316325 AC_PREPROC_IFELSE ( [ AC_LANG_PROGRAM ( [
317326 #include <pmix_version.h>
318- #if (PMIX_VERSION_MAJOR != 3L)
319- #error "not version 3"
320- #endif
321- ] , [ ] ) ] ,
322- [ AC_MSG_RESULT ( [ found] )
323- opal_external_pmix_version=3x
324- opal_external_pmix_version_found=1] ,
325- [ AC_MSG_RESULT ( [ not found] ) ] ) ] )
326-
327- AS_IF ( [ test "$opal_external_pmix_version_found" = "0"] ,
328- [ AC_MSG_CHECKING ( [ version 2x] )
329- AC_PREPROC_IFELSE ( [ AC_LANG_PROGRAM ( [
330- #include <pmix_version.h>
331- #if (PMIX_VERSION_MAJOR != 2L)
332- #error "not version 2"
327+ #if (PMIX_VERSION_MAJOR < 2L)
328+ #error "not version 2 or above"
333329 #endif
334330 ] , [ ] ) ] ,
335331 [ AC_MSG_RESULT ( [ found] )
@@ -342,8 +338,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
342338 [ AC_MSG_CHECKING ( [ version 1x] )
343339 AC_PREPROC_IFELSE ( [ AC_LANG_PROGRAM ( [
344340 #include <pmix_version.h>
345- #if (PMIX_VERSION_MAJOR != 1L)
346- #error "not version 1"
341+ #if (PMIX_VERSION_MAJOR != 1L && PMIX_VERSION_MINOR != 2L )
342+ #error "not version 1.2.x "
347343 #endif
348344 ] , [ ] ) ] ,
349345 [ AC_MSG_RESULT ( [ found] )
@@ -354,8 +350,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
354350
355351 AS_IF ( [ test "x$opal_external_pmix_version" = "x"] ,
356352 [ AC_MSG_WARN ( [ External PMIx support requested, but version] )
357- AC_MSG_WARN ( [ information of the external lib could not ] )
358- AC_MSG_WARN ( [ be detected ] )
353+ AC_MSG_WARN ( [ of the external lib is less than the minimum ] )
354+ AC_MSG_WARN ( [ v1.2.x required by Open MPI ] )
359355 AC_MSG_ERROR ( [ cannot continue] ) ] )
360356
361357 CPPFLAGS=$opal_external_pmix_save_CPPFLAGS
@@ -371,5 +367,10 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
371367 AC_DEFINE_UNQUOTED ( [ OPAL_PMIX_V1] ,[ $opal_external_have_pmix1] ,
372368 [ Whether the external PMIx library is v1] )
373369 AM_CONDITIONAL([ OPAL_WANT_PRUN] , [ test "$opal_prun_happy" = "yes"] )
370+
371+ AS_IF ( [ test "$opal_external_pmix_version" = "1x"] ,
372+ [ OPAL_SUMMARY_ADD([ [ Miscellaneous] ] ,[ [ PMIx support] ] , [ opal_pmix] , [ 1.2.x: WARNING - DYNAMIC OPS NOT SUPPORTED] )] ,
373+ [ OPAL_SUMMARY_ADD([ [ Miscellaneous] ] ,[ [ PMIx support] ] , [ opal_pmix] , [ $opal_external_pmix_version] )] )
374+
374375 OPAL_VAR_SCOPE_POP
375376] )
0 commit comments