<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 10/17/12 9:57 PM, Luc Bourhis wrote:<br>
    </div>
    <blockquote cite="mid:65FAB097-5B73-405A-8858-B85C5EFB4B58@mac.com"
      type="cite"><br>
      <div>
        <div>On Oct 18, 2012, at 11:21 AM, Jeffrey Van Voorst wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite"><span class="Apple-style-span"
            style="border-collapse: separate; font-family: Helvetica;
            font-style: normal; font-variant: normal; font-weight:
            normal; letter-spacing: normal; line-height: normal;
            orphans: 2; text-align: -webkit-auto; text-indent: 0px;
            text-transform: none; white-space: normal; widows: 2;
            word-spacing: 0px; -webkit-border-horizontal-spacing: 0px;
            -webkit-border-vertical-spacing: 0px;
            -webkit-text-decorations-in-effect: none;
            -webkit-text-size-adjust: auto; -webkit-text-stroke-width:
            0px; font-size: medium; ">Ok, let me look into this a bit
            tomorrow. &nbsp;&nbsp;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.<br>
          </span></blockquote>
      </div>
      <br>
      <div>Could you try adding -DBOOST_DISABLE_THREADS to compile your
        C++ program?</div>
      <div><br>
      </div>
      <div>Luc</div>
    </blockquote>
    <br>
    I could do that.&nbsp; 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.&nbsp; 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.<br>
    <br>
    To follow up, I would need to try as you suggested.&nbsp; However, for
    the purposes of my package it is easiest for me to compile cctbx
    once.&nbsp; Therefore I need to compile cctbx without
    -DBOOST_DISABLE_THREADS and without -pthreads and see if I still run
    into the same problem.&nbsp; 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?<br>
    <br>
    If you could point me to a good SCons tutorial or a good example
    script that has documentation, that would be very useful.<br>
    <br>
    --Jeff<br>
  </body>
</html>