diff options
-rw-r--r-- | build/linux/acinclude.m4 | 17 | ||||
-rw-r--r-- | build/linux/configure.ac | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/build/linux/acinclude.m4 b/build/linux/acinclude.m4 index 92f263a..4d278c7 100644 --- a/build/linux/acinclude.m4 +++ b/build/linux/acinclude.m4 @@ -166,3 +166,20 @@ fi rm -f conftest.cu conftest.o conftest.nvcc.out ]) +dnl ASTRA_CHECK_CUDA_BOOST(action-if-ok, action-if-not-ok) +dnl Check for a specific incompatibility between boost and cuda version +dnl (See https://github.com/boostorg/config/pull/175 ) +AC_DEFUN([ASTRA_CHECK_CUDA_BOOST],[ +cat >conftest.cu <<_ACEOF +#include <boost/shared_ptr.hpp> +int main() { + return 0; +} +_ACEOF +ASTRA_RUN_LOGOUTPUT([$NVCC -c -o conftest.o conftest.cu $NVCCFLAGS]) +AS_IF([test $? = 0],[$1],[ + AS_ECHO(["$as_me: failed program was:"]) >&AS_MESSAGE_LOG_FD + sed 's/^/| /' conftest.cu >&AS_MESSAGE_LOG_FD + $2]) +]) + diff --git a/build/linux/configure.ac b/build/linux/configure.ac index 0a9024e..c992516 100644 --- a/build/linux/configure.ac +++ b/build/linux/configure.ac @@ -120,6 +120,12 @@ if test x"$HAVECUDA" = xyes; then AC_MSG_CHECKING([if nvcc works]) ASTRA_CHECK_NVCC(HAVECUDA,NVCCFLAGS_EXTRA) AC_MSG_RESULT($HAVECUDA) + + AC_MSG_CHECKING([if boost and CUDA versions are compatible]) + ASTRA_CHECK_CUDA_BOOST(AC_MSG_RESULT([yes]),[ + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Boost and CUDA versions are incompatible. You probably have to upgrade boost.]) + ]) fi AC_ARG_WITH(cuda_compute, [[ --with-cuda-compute=archs comma separated list of CUDA compute models (optional)]],,) |