[cctbxbb] iotbx::pdb and boost::unit_test::framework

vanv0059 at umn.edu vanv0059 at umn.edu
Wed Dec 14 07:00:50 PST 2011

Here is what I have found on both Linux (an ancient version of SUSE Linux 
Enterprise) and Mac OS X 10.6.8 using their respective build toolchains 
(without any tweaks).

Steps to reproduce:

* Download the 2011_09_03_0448 tarball for cctbx
* Replace the cctbx_sources/boost directory with the 1_48_0 release of boost
* Build the Boost Test library using the default values 
** ./bootstrap.sh --with-libraries=test
** ./b2 --with-test
* Follow the cctbx documentation to build iotbx
** python ../cctbx_sources/libtbx/configure.py 
** source setpaths.sh
** make
** On Mac OS X, create the shared library by hand
* Create a simple boost test that does nothing more than:
** Create a test function
** Create an uninitialized (or initialized if you prefer) iotbx::pdb::input 
variable/object in the test function

This results (on both systems):
An invalid free/delete for a checked array that it appears the Boost Test 
module is trying to free (and it was already freed by iotbx::pdb::input)

This problem appears to be resolved by compiling iotbx with threads
(i.e. configuring with the --enable-boost-threads flag).  

I'm hoping that this enabling threads will not adversely affect my python 
extension modules that use iotbx.pdb. Are there any issues that I should be 
aware of when enabling the threads for iotbx.pdb (other than Mac OS X's 
buggy implementations of core system components such as pthreads, polling, 


More information about the cctbxbb mailing list