1
1

opal: Disable memory patcher component on MacOS

Open MPI doesn't support any transports on MacOS which require
memory manager hooks.  The memory patcher component uses the
syscall interface, which has been deprecated in recent versions
of MacOS.  Since we don't need it and it emits warnings about
deprecation, disable the memory patcher component on MacOS.

Fixes #5671

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Этот коммит содержится в:
Brian Barrett 2018-09-28 18:01:57 -07:00
родитель fcc1d30ab3
Коммит 19e16d5fd0

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

@ -34,19 +34,27 @@ AC_DEFUN([MCA_opal_memory_patcher_COMPILE_MODE], [
# [action-if-cant-compile])
# ------------------------------------------------
AC_DEFUN([MCA_opal_memory_patcher_CONFIG],[
# disable on MacOS/Darwin where it isn't used and the deprecated
# syscall interface causes compiler warnings.
AC_MSG_CHECKING([if memory patcher supports $host_os])
case $host_os in
darwin*)
opal_memory_patcher_happy=no
;;
*)
opal_memory_patcher_happy=yes
;;
esac
AC_MSG_RESULT([$opal_memory_patcher_happy])
AS_IF([test "$opal_memory_patcher_happy" == "yes"], [
AC_CHECK_FUNCS([__curbrk])
AC_CHECK_HEADERS([linux/mman.h sys/syscall.h])
AC_CHECK_DECLS([__mmap], [], [], [#include <sys/mman.h>])
AC_CHECK_FUNCS([__mmap])
AC_CHECK_DECLS([__syscall], [], [], [#include <sys/syscall.h>])
AC_CHECK_FUNCS([__syscall])
$1], [$2])
AC_CONFIG_FILES([opal/mca/memory/patcher/Makefile])
AC_CHECK_FUNCS([__curbrk])
AC_CHECK_HEADERS([linux/mman.h sys/syscall.h])
AC_CHECK_DECLS([__mmap], [], [], [#include <sys/mman.h>])
AC_CHECK_FUNCS([__mmap])
AC_CHECK_DECLS([__syscall], [], [], [#include <sys/syscall.h>])
AC_CHECK_FUNCS([__syscall])
[$1]
])