[cctbxbb] Boost Python 1.56

Aaron Brewster asbrewster at lbl.gov
Thu Feb 11 11:02:02 PST 2016


Hi Marcin, thanks for the fixes.  I'll re-run the tests today and see if
tst_ext.py is failing for me too.

-Aaron

On Thu, Feb 11, 2016 at 10:50 AM, Marcin Wojdyr <wojdyr at gmail.com> wrote:

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


More information about the cctbxbb mailing list