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>
(cherry picked from commit 19e16d5fd0e3bc148b47d957b9b84a425c87777c)
Этот коммит содержится в:
Brian Barrett 2018-09-28 18:01:57 -07:00 коммит произвёл Jeff Squyres
родитель f566613c5d
Коммит 8324b4e969

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

@ -34,15 +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([__syscall], [], [], [#include <sys/syscall.h>])
AC_CHECK_FUNCS([__syscall])
[$1]
])