<div dir="ltr">Hi Marcin, thanks for the fixes.  I&#39;ll re-run the tests today and see if tst_ext.py is failing for me too.<div><br></div><div>-Aaron</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 10:50 AM, Marcin Wojdyr <span dir="ltr">&lt;<a href="mailto:wojdyr@gmail.com" target="_blank">wojdyr@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Aaron,<br>
yes, I didn&#39;t run test yesterday. I did run it today and at first 20 failed.<br>
It&#39;s mostly this problem:<br>
<a href="https://github.com/boostorg/python/issues/56" rel="noreferrer" target="_blank">https://github.com/boostorg/python/issues/56</a><br>
<br>
Other failures I got were probably not related to the boost update.<br>
I&#39;ve committed 3 fixes.<br>
<br>
I started looking at 4th, which was:<br>
  File &quot;/home/marcin/dials/modules/cctbx_project/iotbx/mtz/tst_ext.py&quot;,<br>
line 1093, in exercise_modifiers<br>
    assert approx_equal(v, [-1]*4)<br>
but I must leave now. Does this test also fail for you?<br>
<span><font color="#888888"><br>
Marcin<br>
</font></span><div><div><br>
On Wed, Feb 10, 2016 at 11:20 PM, Aaron Brewster &lt;<a href="mailto:asbrewster@lbl.gov" target="_blank">asbrewster@lbl.gov</a>&gt; wrote:<br>
&gt; Hi Marcin, thanks for the detective work.  I&#39;ve reproduced your results on<br>
&gt; Centos 7 using the cctbx bootstrap script (not sure from your email if<br>
&gt; that&#39;s what you used):<br>
&gt;<br>
&gt; svn export<br>
&gt; svn://<a href="http://svn.code.sf.net/p/cctbx/code/trunk/libtbx/auto_build/bootstrap.py" rel="noreferrer" target="_blank">svn.code.sf.net/p/cctbx/code/trunk/libtbx/auto_build/bootstrap.py</a><br>
&gt; python bootstrap.py --builder=dials hot update<br>
&gt; cd modules<br>
&gt; mv boost oldboost<br>
&gt; wget<br>
&gt; <a href="https://sourceforge.net/projects/boost/files/latest/download?source=files" rel="noreferrer" target="_blank">https://sourceforge.net/projects/boost/files/latest/download?source=files</a> -O<br>
&gt; ./boost_1_60_0.tar.gz<br>
&gt; mv boost_1_60_0 boost<br>
&gt; vi boost/boost/rational.hpp (revert<br>
&gt; <a href="https://github.com/boostorg/rational/commit/5fddb3f889cd2a2fe59cdcae182f8b3f78ec31e3" rel="noreferrer" target="_blank">https://github.com/boostorg/rational/commit/5fddb3f889cd2a2fe59cdcae182f8b3f78ec31e3</a>,<br>
&gt; this is necessary to compile)<br>
&gt; cd ..<br>
&gt; python bootstrap.py --builder=dials base build<br>
&gt;<br>
&gt; I then exercised the cctbx regression tests:<br>
&gt;<br>
&gt; source build/setpaths.sh<br>
&gt; mkdir tests<br>
&gt; cd tests<br>
&gt; cctbx_regression.test_nightly<br>
&gt;<br>
&gt; 17 tests failed, but I think they are fixable, most of them being interface<br>
&gt; changes in boost.  I ran the tests again after restoring the original boost<br>
&gt; and recompiling.  There were still 3 errors, but I need to verify those<br>
&gt; errors from a completely clean system that hadn&#39;t seen boost 1.60 before I&#39;d<br>
&gt; think they were real.<br>
&gt;<br>
&gt; Anyhow the next step is to track down those 17 errors, fix them, then try<br>
&gt; the whole process again with the phenix builder and the full set of dials<br>
&gt; and phenix tests.<br>
&gt;<br>
&gt; -Aaron<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Wed, Feb 10, 2016 at 10:45 AM, Marcin Wojdyr &lt;<a href="mailto:wojdyr@gmail.com" target="_blank">wojdyr@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; To help a bit I went through compilation of cctbx/Dials with Boost 1.60.<br>
&gt;&gt;<br>
&gt;&gt; There is a lot of warnings from Boost.Python,<br>
&gt;&gt; about deprecated header:<br>
&gt;&gt;<br>
&gt;&gt; <a href="https://github.com/boostorg/python/commit/0a4c76b9ac16974d7d4f164cf6179095217a981a" rel="noreferrer" target="_blank">https://github.com/boostorg/python/commit/0a4c76b9ac16974d7d4f164cf6179095217a981a</a><br>
&gt;&gt; and unused typedefs. After adding -Wno-unused-local-typedefs and<br>
&gt;&gt; removing the deprecated #include almost all warnings are gone.<br>
&gt;&gt;<br>
&gt;&gt; Then there is one error, copy&amp;pasted below.<br>
&gt;&gt; I tracked it down to this change in boost.rational:<br>
&gt;&gt;<br>
&gt;&gt; <a href="https://github.com/boostorg/rational/commit/5fddb3f889cd2a2fe59cdcae182f8b3f78ec31e3" rel="noreferrer" target="_blank">https://github.com/boostorg/rational/commit/5fddb3f889cd2a2fe59cdcae182f8b3f78ec31e3</a><br>
&gt;&gt; I just reverted this change to finish compilation, but I suppose a<br>
&gt;&gt; proper fix is also not difficult.<br>
&gt;&gt;<br>
&gt;&gt; I don&#39;t know if this is relevant, but I&#39;m using Boost compiled outside of<br>
&gt;&gt; cctbx.<br>
&gt;&gt; I&#39;m attaching a patch that we use in CCP4 for this. It&#39;s based on<br>
&gt;&gt; Debian/Gentoo patches.<br>
&gt;&gt;<br>
&gt;&gt; cheers,<br>
&gt;&gt; Marcin<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; g++ -o boost_adaptbx/rational_ext.o -c<br>
&gt;&gt; -I/home/marcin/dials/boost_160/include -Wno-unused-local-typedefs<br>
&gt;&gt; -DBOOST_PYTHON_MAX_BASES=2 -fPIC -fno-strict-aliasing -w -DNDEBUG -O3<br>
&gt;&gt; -ffast-math -DBOOST_ALL_NO_LIB -I/home/marcin/dials/build/include<br>
&gt;&gt; -I/home/marcin/miniconda2/include/python2.7<br>
&gt;&gt; /home/marcin/dials/modules/cctbx_project/boost_adaptbx/rational_ext.cpp<br>
&gt;&gt; In file included from<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47:0,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/invoke.hpp:63,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/caller.hpp:16,<br>
&gt;&gt;                  from<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object/function_handle.hpp:8,<br>
&gt;&gt;                  from<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/converter/arg_to_python.hpp:19,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/call.hpp:15,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object_core.hpp:14,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/args.hpp:25,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/make_function.hpp:11,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/def.hpp:11,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/modules/cctbx_project/boost_adaptbx/rational_ext.cpp:2:<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/invoke.hpp:<br>
&gt;&gt; In instantiation of &#39;PyObject*<br>
&gt;&gt; boost::python::detail::invoke(boost::python::detail::invoke_tag_&lt;false,<br>
&gt;&gt; true&gt;, const RC&amp;, F&amp;, TC&amp;) [with RC =<br>
&gt;&gt;<br>
&gt;&gt; boost::python::detail::specify_a_return_value_policy_to_wrap_functions_returning&lt;const<br>
&gt;&gt; int&amp;&gt;; F = const int&amp; (boost::rational&lt;int&gt;::*)()const; TC =<br>
&gt;&gt; boost::python::arg_from_python&lt;boost::rational&lt;int&gt;&amp;&gt;; PyObject =<br>
&gt;&gt; _object]&#39;:<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/caller.hpp:223:13:<br>
&gt;&gt;   required from &#39;PyObject*<br>
&gt;&gt; boost::python::detail::caller_arity&lt;1u&gt;::impl&lt;F, Policies,<br>
&gt;&gt; Sig&gt;::operator()(PyObject*, PyObject*) [with F = const int&amp;<br>
&gt;&gt; (boost::rational&lt;int&gt;::*)()const; Policies =<br>
&gt;&gt; boost::python::default_call_policies; Sig = boost::mpl::vector2&lt;const<br>
&gt;&gt; int&amp;, boost::rational&lt;int&gt;&amp;&gt;; PyObject = _object]&#39;<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object/py_function.hpp:38:33:<br>
&gt;&gt;   required from &#39;PyObject*<br>
&gt;&gt;<br>
&gt;&gt; boost::python::objects::caller_py_function_impl&lt;Caller&gt;::operator()(PyObject*,<br>
&gt;&gt; PyObject*) [with Caller = boost::python::detail::caller&lt;const int&amp;<br>
&gt;&gt; (boost::rational&lt;int&gt;::*)()const,<br>
&gt;&gt; boost::python::default_call_policies, boost::mpl::vector2&lt;const int&amp;,<br>
&gt;&gt; boost::rational&lt;int&gt;&amp;&gt; &gt;; PyObject = _object]&#39;<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/modules/cctbx_project/boost_adaptbx/rational_ext.cpp:231:1:<br>
&gt;&gt;   required from here<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/invoke.hpp:88:90:<br>
&gt;&gt; error: no match for call to &#39;(const<br>
&gt;&gt;<br>
&gt;&gt; boost::python::detail::specify_a_return_value_policy_to_wrap_functions_returning&lt;const<br>
&gt;&gt; int&amp;&gt;) (const int&amp;)&#39;<br>
&gt;&gt;      return rc( (tc().*f)(BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, ac, ()<br>
&gt;&gt; BOOST_PP_INTERCEPT)) );<br>
&gt;&gt;<br>
&gt;&gt;                    ^<br>
&gt;&gt; In file included from<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object/function_handle.hpp:8:0,<br>
&gt;&gt;                  from<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/converter/arg_to_python.hpp:19,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/call.hpp:15,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object_core.hpp:14,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/args.hpp:25,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/make_function.hpp:11,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/def.hpp:11,<br>
&gt;&gt;                  from<br>
&gt;&gt; /home/marcin/dials/modules/cctbx_project/boost_adaptbx/rational_ext.cpp:2:<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/caller.hpp:<br>
&gt;&gt; In instantiation of &#39;static const PyTypeObject*<br>
&gt;&gt;<br>
&gt;&gt; boost::python::detail::converter_target_type&lt;ResultConverter&gt;::get_pytype()<br>
&gt;&gt; [with ResultConverter =<br>
&gt;&gt;<br>
&gt;&gt; boost::python::detail::specify_a_return_value_policy_to_wrap_functions_returning&lt;const<br>
&gt;&gt; int&amp;&gt;; PyTypeObject = _typeobject]&#39;:<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/caller.hpp:240:19:<br>
&gt;&gt;   required from &#39;static boost::python::detail::py_func_sig_info<br>
&gt;&gt; boost::python::detail::caller_arity&lt;1u&gt;::impl&lt;F, Policies,<br>
&gt;&gt; Sig&gt;::signature() [with F = const int&amp;<br>
&gt;&gt; (boost::rational&lt;int&gt;::*)()const; Policies =<br>
&gt;&gt; boost::python::default_call_policies; Sig = boost::mpl::vector2&lt;const<br>
&gt;&gt; int&amp;, boost::rational&lt;int&gt;&amp;&gt;]&#39;<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/object/py_function.hpp:48:35:<br>
&gt;&gt;   required from &#39;boost::python::detail::py_func_sig_info<br>
&gt;&gt; boost::python::objects::caller_py_function_impl&lt;Caller&gt;::signature()<br>
&gt;&gt; const [with Caller = boost::python::detail::caller&lt;const int&amp;<br>
&gt;&gt; (boost::rational&lt;int&gt;::*)()const,<br>
&gt;&gt; boost::python::default_call_policies, boost::mpl::vector2&lt;const int&amp;,<br>
&gt;&gt; boost::rational&lt;int&gt;&amp;&gt; &gt;]&#39;<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/modules/cctbx_project/boost_adaptbx/rational_ext.cpp:231:1:<br>
&gt;&gt;   required from here<br>
&gt;&gt;<br>
&gt;&gt; /home/marcin/dials/boost_160/include/boost/python/detail/caller.hpp:102:109:<br>
&gt;&gt; error: &#39;struct<br>
&gt;&gt; boost::python::detail::specify_a_return_value_policy_to_wrap_functions_returning&lt;const<br>
&gt;&gt; int&amp;&gt;&#39; has no member named &#39;get_pytype&#39;<br>
&gt;&gt;          return create_result_converter((PyObject*)0, (ResultConverter<br>
&gt;&gt; *)0, (ResultConverter *)0).get_pytype();<br>
&gt;&gt;<br>
&gt;&gt;                                       ^<br>
&gt;&gt; scons: *** [boost_adaptbx/rational_ext.o] Error 1<br>
&gt;&gt; scons: building terminated because of errors.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Wed, Feb 10, 2016 at 4:44 PM, Aaron Brewster &lt;<a href="mailto:asbrewster@lbl.gov" target="_blank">asbrewster@lbl.gov</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt; Hi Nick, Billy and I will work on this today,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; -Aaron<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Wed, Feb 10, 2016 at 6:40 AM, Marcin Wojdyr &lt;<a href="mailto:wojdyr@gmail.com" target="_blank">wojdyr@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; FWIW the latest version of Boost is 1.60.<br>
&gt;&gt; &gt;&gt; CCP4 6.5 was using cctbx compiled with Boost 1.56<br>
&gt;&gt; &gt;&gt; and CCP4 7.0 uses Boost 1.58.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Marcin<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Wed, Feb 10, 2016 at 2:17 PM, Nicholas Sauter &lt;<a href="mailto:nksauter@lbl.gov" target="_blank">nksauter@lbl.gov</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; Nigel, Billy &amp; Aaron,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; I completely endorse this move to Boost 1.56.  Can we update our<br>
&gt;&gt; &gt;&gt; &gt; build?<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Nick<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Nicholas K. Sauter, Ph. D.<br>
&gt;&gt; &gt;&gt; &gt; Computer Staff Scientist, Molecular Biophysics and Integrated<br>
&gt;&gt; &gt;&gt; &gt; Bioimaging<br>
&gt;&gt; &gt;&gt; &gt; Division<br>
&gt;&gt; &gt;&gt; &gt; Lawrence Berkeley National Laboratory<br>
&gt;&gt; &gt;&gt; &gt; 1 Cyclotron Rd., Bldg. 33R0345<br>
&gt;&gt; &gt;&gt; &gt; Berkeley, CA 94720<br>
&gt;&gt; &gt;&gt; &gt; <a href="tel:%28510%29%20486-5713" value="+15104865713" target="_blank">(510) 486-5713</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Wed, Feb 10, 2016 at 2:41 PM, Luc Bourhis &lt;<a href="mailto:luc_j_bourhis@mac.com" target="_blank">luc_j_bourhis@mac.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Hi,<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; I have improvements to the smtbx on their way to be committed which<br>
&gt;&gt; &gt;&gt; &gt;&gt; require Boost version 1.56. This is related to Boost.Threads, whose<br>
&gt;&gt; &gt;&gt; &gt;&gt; support<br>
&gt;&gt; &gt;&gt; &gt;&gt; I re-activated a few months ago on Nick’s request. I need the<br>
&gt;&gt; &gt;&gt; &gt;&gt; function<br>
&gt;&gt; &gt;&gt; &gt;&gt; boost::thread::physical_concurrency which returns the number of<br>
&gt;&gt; &gt;&gt; &gt;&gt; physical<br>
&gt;&gt; &gt;&gt; &gt;&gt; cores on the machine, as opposed to virtual cores when<br>
&gt;&gt; &gt;&gt; &gt;&gt; hyperthreading<br>
&gt;&gt; &gt;&gt; &gt;&gt; is<br>
&gt;&gt; &gt;&gt; &gt;&gt; enabled (which it is by default on any Intel machine). That function<br>
&gt;&gt; &gt;&gt; &gt;&gt; is<br>
&gt;&gt; &gt;&gt; &gt;&gt; not<br>
&gt;&gt; &gt;&gt; &gt;&gt; available in Boost 1.55 which is the version currently used in the<br>
&gt;&gt; &gt;&gt; &gt;&gt; nightly<br>
&gt;&gt; &gt;&gt; &gt;&gt; tests: it appeared in 1.56.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; So, would it be possible to move to Boost 1.56? Otherwise, I will<br>
&gt;&gt; &gt;&gt; &gt;&gt; need<br>
&gt;&gt; &gt;&gt; &gt;&gt; to<br>
&gt;&gt; &gt;&gt; &gt;&gt; backport that function. Not too difficult but not thrilling.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Best wishes,<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Luc<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; cctbxbb mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt; cctbxbb mailing list<br>
&gt;&gt; &gt;&gt; &gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; cctbxbb mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt;&gt; &gt;&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; cctbxbb mailing list<br>
&gt;&gt; &gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt;&gt; &gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; cctbxbb mailing list<br>
&gt;&gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt;&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cctbxbb mailing list<br>
&gt; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
&gt; <a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
&gt;<br>
<br>
_______________________________________________<br>
cctbxbb mailing list<br>
<a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a><br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/mailman/listinfo/cctbxbb</a><br>
</div></div></blockquote></div><br></div></div>