[cctbxbb] --enable-boost-threads flag

Jeffrey Van Voorst vanv0059 at umn.edu
Thu Oct 18 06:20:27 PDT 2012


On 10/17/12 9:57 PM, Luc Bourhis wrote:
>
> On Oct 18, 2012, at 11:21 AM, Jeffrey Van Voorst wrote:
>
>> Ok, let me look into this a bit tomorrow.   The issue is free() which 
>> gets an invalid address from a shared_ptr for root_data in iotbx_pdb 
>> when it is time for the whole pdb hierarchy to disappear. My main 
>> issue is I am not sure how to go about debugging shared_ptrs nor what 
>> architecture dependent flags or other voodoo (if any) is specified by 
>> -pthread.
>
> Could you try adding -DBOOST_DISABLE_THREADS to compile your C++ program?
>
> Luc

I could do that.  However, I would like to have just one copy of cctbx 
built, and be able to use the libiotbx_pdb.so library in both single and 
multithreaded code. The issue appears to me that the implementation of 
the boost smart_ptrs depends on defines set with respect to threads.  My 
assumption is: if I compile cctbx with -DBOOST_DISABLE_THREADS and link 
to the libraries from programs that were not compiled with that flag, I 
will run into issues of having differing implementations of smart_ptrs.

To follow up, I would need to try as you suggested.  However, for the 
purposes of my package it is easiest for me to compile cctbx once.  
Therefore I need to compile cctbx without -DBOOST_DISABLE_THREADS and 
without -pthreads and see if I still run into the same problem.  Am I 
correct in inferring that the latest SVN version of cctbx will configure 
(by default) to not use -pthreads and not use -DBOOST_DISABLE_THREADS?

If you could point me to a good SCons tutorial or a good example script 
that has documentation, that would be very useful.

--Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20121018/0ff0cf77/attachment.htm>


More information about the cctbxbb mailing list