Boost logo

Boost-Build :

Subject: [Boost-build] Are the boost libraries compatible with _GLIBCXX_DEBUG?
From: Amos Anderson (nitroamos_at_[hidden])
Date: 2011-07-21 19:23:50


Hello --

I'm trying to understand a failure in one of my regression tests. The
regression test passes if I use the normal std::vector etc, but fails
(some output numbers printed are slightly different) if I activate
these gcc flags:

   <define>_GLIBCXX_DEBUG
   <define>_GLIBCXX_DEBUG_ASSERT
   <define>_GLIBCXX_DEBUG_PEDASSERT
   <define>_GLIBCXX_DEBUG_VERIFY

>From boost 1.45, I'm using mpi, python, and serialization. I'm using
gcc 4.5.2 on linux, which isn't on the list:
http://www.boost.org/users/history/version_1_45_0.html

I suspect boost mpi because I was getting a really bug where unrelated
memory was changing during a broadcast statement when boost was
compiled with _GLIBCXX_DEBUG, but my code was compiled without it.
This specific problem goes away if I use _GLIBCXX_DEBUG consistently
between my code and boost. If I turn off _GLIBCXX_DEBUG in both, then
my code passes my regression test, but if I activate _GLIBCXX_DEBUG in
both my code and boost, then my regression fails.

This makes me think that serializing the _GLIBCXX_DEBUG classes is
somehow different... but I don't want to dig into debugging this
people seem to confirm that this could be a problem.

Thanks for any insights!

Amos.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk