BIND 10 master, updated. 598e458c7af7d5bb81131112396e4c5845060ecd Merge #3025
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Aug 13 13:48:42 UTC 2013
The branch, master has been updated
via 598e458c7af7d5bb81131112396e4c5845060ecd (commit)
via cf7cb62d777a1d74db1abca0753e5fb2cfe0c310 (commit)
via 535abe75debe26e48284244d0e856b9cad4eeec6 (commit)
via f59e953a20f34118e276c215ed5d75f0e0611c7f (commit)
via 290fb63c1c7640c8fdc8801b93c36f8ca0432b96 (commit)
via 9c88046f2b021dded1981966b930029e765b5915 (commit)
via 6faea427392fa8809269171dc7d98d42177af846 (commit)
from 1745301647282b8db81d5618543aabe66b255dd8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 598e458c7af7d5bb81131112396e4c5845060ecd
Merge: 1745301 cf7cb62
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date: Tue Aug 13 15:03:10 2013 +0200
Merge #3025
Detect old versions of boost and suggest either disabling shared memory
for them or upgrading.
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 11 +++++++++++
m4macros/ax_boost_for_bind10.m4 | 18 ++++++++++++++++++
2 files changed, 29 insertions(+)
-----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index e5ec669..41b0900 100644
--- a/configure.ac
+++ b/configure.ac
@@ -912,6 +912,17 @@ if test "x$use_shared_memory" = "xyes"; then
fi
AC_SUBST(BOOST_MAPPED_FILE_CXXFLAG)
+if test "$BOOST_OFFSET_PTR_OLD" = "yes" -a "$use_shared_memory" = "yes" ; then
+ AC_MSG_ERROR([You're trying to compile against boost older than 1.48 with
+shared memory. Older versions of boost have a bug which causes segfaults in
+offset_ptr implementation when compiled by GCC with optimisations enabled.
+See ticket no. 3025 for details.
+
+Either update boost to newer version or use --without-shared-memory.
+Note that most users likely don't need shared memory support.
+])
+fi
+
# Add some default CPP flags needed for Boost, identified by the AX macro.
CPPFLAGS="$CPPFLAGS $CPPFLAGS_BOOST_THREADCONF"
diff --git a/m4macros/ax_boost_for_bind10.m4 b/m4macros/ax_boost_for_bind10.m4
index 3a71337..cc6408c 100644
--- a/m4macros/ax_boost_for_bind10.m4
+++ b/m4macros/ax_boost_for_bind10.m4
@@ -31,6 +31,12 @@ dnl It is of no use if "WOULDFAIL" is yes.
dnl BOOST_STATIC_ASSERT_WOULDFAIL set to "yes" if BOOST_STATIC_ASSERT would
dnl cause build error; otherwise set to "no"
+dnl BOOST_OFFSET_PTR_OLD set to "yes" if the version of boost is older than
+dnl 1.48. Older versions of boost have a bug which
+dnl causes segfaults in offset_ptr implementation when
+dnl compiled by GCC with optimisations enabled.
+dnl See ticket no. 3025 for details.
+
AC_DEFUN([AX_BOOST_FOR_BIND10], [
AC_LANG_SAVE
AC_LANG([C++])
@@ -106,9 +112,21 @@ if test "X$GXX" = "Xyes"; then
BOOST_NUMERIC_CAST_WOULDFAIL=yes])
CXXFLAGS="$CXXFLAGS_SAVED"
+
+ AC_MSG_CHECKING([Boost rbtree is old])
+ AC_TRY_COMPILE([
+ #include <boost/version.hpp>
+ #if BOOST_VERSION < 104800
+ #error Too old
+ #endif
+ ],,[AC_MSG_RESULT(no)
+ BOOST_OFFSET_PTR_OLD=no
+ ],[AC_MSG_RESULT(yes)
+ BOOST_OFFSET_PTR_OLD=yes])
else
# This doesn't matter for non-g++
BOOST_NUMERIC_CAST_WOULDFAIL=no
+ BOOST_OFFSET_PTR_OLD=no
fi
# Boost interprocess::managed_mapped_file is highly system dependent and
More information about the bind10-changes
mailing list