On Wed, 20 Mar 2013 19:28:35 -0000, Jeffrey Van Voorst <vanv0...@umn.edu> wrote:

This could be misinformation, but some of the boost libraries have compile time flags that depend on whether or not threading is enabled. As an example, I was running into issues with an invalid free() with respect to shared_ptr (in the cctbx project). Unfortunately, (for your case) the fix was to download a more recent version of the cctbx project that no longer exhibited this problem.

In short, the boost smart pointers, boost spirit, etc. implementations vary depending on the compile time options. I don't know if boost.python has options.

Okay. Thanks for the pointer though. Most of my boost libraries were built with full optimisation / release settings, but I compiled a debug version yesterday and copied over the package manager's libboost_python.so.1.53.0 with a debug version. Didn't bother with the other boost libs though, as I don't think this would break ABI compatibility between boost libs, and don't want to slow down my system more than necessary!


Also, I found that with these issues it is generally easier to pinpoint the problem when the code is compile without optimization.

Yes, true! I'm currently compiling my extension library with "-g3 -O1". Could add "-fno-omit-frame-pointer -fbuiltins" to that, but I think it would be more useful to have a debug version of Python to hand, so I'm currently in the process of building that. (A bit of a hassle on Arch Linux tbh; Ubuntu makes installing debug symbols eeaaasy!)

Cheers,
Alex
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to