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.
This commit is contained in:
Jean-Marc Lasgouttes 2015-09-25 10:30:10 +02:00
parent dfeba2abcf
commit a0f2cbdfd2
3 changed files with 16 additions and 1 deletions

View File

@ -222,7 +222,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 o --enable-stdlib-debug adds some debug code in the standard
library; this slows down the code, but has been helpful in the 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 o --enable-concept-checks adds some compile-time checks. There is no
run-time penalty. run-time penalty.

View File

@ -360,6 +360,15 @@ AC_DEFUN([LYX_USE_INCLUDED_BOOST],[
fi fi
fi fi
AC_SUBST(BOOST_MT) AC_SUBST(BOOST_MT)
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 fi
]) ])

View File

@ -113,3 +113,5 @@ What's new
- Work around gcc 5 bug 67557. - Work around gcc 5 bug 67557.
- Give a warning when system boost and stdlib-debug are used together
(bug 9736).