Mac OS X and static boost libs -> std::string fail
- by Ionic
Hi all,
I'm experiencing some very weird problems with static boost libraries under Mac OS X 10.6.6.
The error message is
main(78485) malloc: *** error for object 0x1000e0b20: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
[1] 78485 abort (core dumped)
and a tiny bit of example code which will trigger this problem:
#define BOOST_FILESYSTEM_VERSION 3
#include <boost/filesystem.hpp>
#include <iostream>
int main (int argc, char **argv) {
std::cout << boost::filesystem::current_path ().string () << '\n';
}
This problem always occurs when linking the static boost libraries into the binary. Linking dynamically will work fine, though.
I've seen various reports for quite a similar OS X bug with GCC 4.2 and the _GLIBCXX_DEBUG macro set, but this one seems even more generic, as I'm neither using XCode, nor setting the macro (even undefining it does not help. I tried it just to make sure it's really not related to this problem.)
Does anybody have any pointers to why this is happening or even maybe a solution (rather than using the dynamic library workaround)?
Best regards,
Mihai