summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2019-03-29 19:42:12 +0100
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2019-09-25 14:10:08 +0200
commitf5ecfea64afa4b2971a584840c4da035ae638239 (patch)
treedb73f25fd3c054d7c57ea0e57c7b39634b67d5b1
parent9c869d834ddc681299df9999787eb92bd6010dac (diff)
downloadastra-f5ecfea64afa4b2971a584840c4da035ae638239.tar.gz
astra-f5ecfea64afa4b2971a584840c4da035ae638239.tar.bz2
astra-f5ecfea64afa4b2971a584840c4da035ae638239.tar.xz
astra-f5ecfea64afa4b2971a584840c4da035ae638239.zip
Check if boost and CUDA versions are compatible
See https://github.com/astra-toolbox/astra-toolbox/issues/163 and https://github.com/boostorg/config/pull/175 .
-rw-r--r--build/linux/acinclude.m417
-rw-r--r--build/linux/configure.ac6
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)]],,)