1
1
openmpi/config/opal_check_singularity.m4
Ralph Castain aa9e5a1a27 Add support for Singularity containers, including a .m4 file for checking if Singularity is available and an orte/schizo component for setting the proper support if a container was given as the executable
Cleanup the configury so we properly check for Singularity under the various typical use-cases

Bring the Singularity support online. We have to turn "off" the sm BTL as it segfaults from inside the container - root cause remains unclear. Also turned "off" the various OPAL shmem components in case they are involved and someone else tries to use them. Happily, the vader BTL works just fine!
2016-02-13 04:40:22 -08:00

61 строка
2.8 KiB
Plaintext

# -*- shell-script ; indent-tabs-mode:nil -*-
#
# Copyright (c) 2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# OPAL_CHECK_SINGULARITY(prefix, [action-if-found], [action-if-not-found])
# --------------------------------------------------------
AC_DEFUN([OPAL_CHECK_SINGULARITY],[
OPAL_VAR_SCOPE_PUSH([spath have_singularity])
AC_ARG_WITH([singularity],
[AC_HELP_STRING([--with-singularity(=DIR)],
[Build support for the Singularity container, optionally adding DIR to the search path])])
spath=
AC_MSG_CHECKING([if Singularity support is to be built])
AS_IF([test "$with_singularity" = "no"],
[AC_MSG_RESULT([no])
have_singularity=no],
[AC_MSG_RESULT([yes])
AS_IF([test -z "$with_singularity" || test "$with_singularity" = "yes"],
[ # look for the singularity command in the default path
AC_CHECK_PROG([SINGULARITY], [singularity], [singularity])
AS_IF([test "$SINGULARITY" != ""],
[have_singularity=yes],
[AS_IF([test "$with_singularity" = "yes"],
[AC_MSG_WARN([Singularity support requested, but required executable])
AC_MSG_WARN(["singularity" not found in default locations])
AC_MSG_ERROR([Cannot continue])])
have_singularity=no])],
[ AC_MSG_CHECKING([for existence of $with_singularity/bin])
# look for the singularity command in the bin subdirectory
AS_IF([test ! -d "$with_singularity/bin"],
[AC_MSG_RESULT([not found])
AC_MSG_WARN([Directory $with_singularity/bin not found])
AC_MSG_ERROR([Cannot continue])],
[AC_MSG_RESULT([found])])
save_path=$PATH
PATH=$with_singularity/bin:$PATH
AC_CHECK_PROG([SINGULARITY], [singularity], [singularity])
AS_IF([test "$SINGULARITY" != ""],
[have_singularity=yes
spath=$with_singularity/bin],
[have_singlarity=no
AC_MSG_WARN([Singularity support requested, but required executable])
AC_MSG_WARN(["singularity" not found in either default or specified path])
AC_MSG_ERROR([Cannot continue])])
PATH=$save_path
]
)])
AC_DEFINE_UNQUOTED(OPAL_SINGULARITY_PATH, "$spath", [Path to Singularity binaries])
AS_IF([test "$have_singularity" = "yes"],
[$2], [$3])
OPAL_VAR_SCOPE_POP
])