From d95c187b5aeccebcd9eaca8118054e9ce45032e0 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Fri, 11 Sep 2015 14:08:20 +0200 Subject: [PATCH] Give a warning when system boost and stdlib-debug are used together In general this would lead to an immediate runtime crash because the runtime checks of libstdc++ change the layout of some STL objects. Therefore, this will only work when the boost libraries have been compiled with this same flag. At this time, it is not known whether any linux distribution contains such libraries. Fixes bug #9736. --- INSTALL | 6 +++++- config/lyxinclude.m4 | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 7179dc3b63..d3e266ff92 100644 --- a/INSTALL +++ b/INSTALL @@ -223,7 +223,11 @@ The following options allow you to tweak the generated code more precisely (see o --enable-stdlib-debug adds some debug code in the standard library; this slows down the code, but has been helpful in the - past to find bugs. + past to find bugs. Note that this is in general incompatible with + the system boost library (which is used when + --without-included-boost is specified). You may have to use + --disable-stdlib-debug when linking development versions against + your system's boost library. o --enable-concept-checks adds some compile-time checks. There is no run-time penalty. diff --git a/config/lyxinclude.m4 b/config/lyxinclude.m4 index b488cefdc6..5cfda06bbc 100644 --- a/config/lyxinclude.m4 +++ b/config/lyxinclude.m4 @@ -429,6 +429,15 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[ else BOOST_LIBS="-lboost_regex${BOOST_MT} -lboost_signals${BOOST_MT}" fi + + dnl In general, system boost libraries are incompatible with + dnl the use of stdlib-debug in libstdc++. See ticket #9736 for + dnl details. + if test $enable_stdlib_debug = "yes" ; then + LYX_WARNING([Compiling LyX with stdlib-debug and system boost libraries may lead to + crashes. Consider using --disable-stdlib-debug or removing + --without-included-boost.]) + fi fi AC_SUBST(BOOST_INCLUDES) AC_SUBST(BOOST_LIBS) -- 2.39.5