[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 
--build-boost-python-extensions=False
** 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, 
etc.)?

--Jeff




More information about the cctbxbb mailing list