I'm trying to build from source and without building python bindings everything is fine. When I try to build with python bindings I get an error. I am on Ubuntu 18.04.
/usr/include/boost/python/object/py_function.hpp:36:15: required from here
/usr/include/boost/variant/detail/make_variant_list.hpp:40:46: error: wrong number of template arguments (21, should be at least 0)
40 | typedef typename mpl::list< T... >::type type;
| ^~~~
In file included from /usr/include/boost/mpl/aux_/include_preprocessed.hpp:37,
from /usr/include/boost/mpl/list.hpp:46,
from /usr/include/boost/math/policies/policy.hpp:9,
from /usr/include/boost/math/special_functions/math_fwd.hpp:29,
from /usr/include/boost/math/special_functions/sign.hpp:17,
from /usr/include/boost/lexical_cast/detail/inf_nan.hpp:34,
from /usr/include/boost/lexical_cast/detail/converter_lexical_streams.hpp:63,
from /usr/include/boost/lexical_cast/detail/converter_lexical.hpp:54,
from /usr/include/boost/lexical_cast/try_lexical_convert.hpp:42,
from /usr/include/boost/lexical_cast.hpp:32,
from /usr/include/boost/python/operators.hpp:19,
from /usr/include/boost/python.hpp:49,
from /home/dan/Dev/tsid/build-RELEASE/include/tsid/bindings/python/contacts/contact-6d.hpp:21,
from /home/dan/Dev/tsid/bindings/python/contacts/contact-6d.cpp:18:
/usr/include/boost/mpl/aux/preprocessed/gcc/list.hpp:22:8: note: provided for ‘template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19> struct boost::mpl::list’
22 | struct list;
| ^~~~
In file included from /usr/include/boost/variant.hpp:17,
from /usr/local/include/pinocchio/multibody/joint/joint-collection.hpp:11,
from /usr/local/include/pinocchio/multibody/joint/joint-generic.hpp:8,
from /usr/local/include/pinocchio/multibody/model.hpp:17,
from /home/dan/Dev/tsid/include/tsid/tasks/task-se3-equality.hpp:25,
from /home/dan/Dev/tsid/include/tsid/contacts/contact-6d.hpp:23,
from /home/dan/Dev/tsid/build-RELEASE/include/tsid/bindings/python/contacts/contact-6d.hpp:26,
from /home/dan/Dev/tsid/bindings/python/contacts/contact-6d.cpp:18:
/usr/include/boost/variant/variant.hpp: In instantiation of ‘typename Visitor::result_type boost::variant<T0, TN>::internal_apply_visitor(Visitor&) [with Visitor = boost::detail::variant::destroyer; T0 = pinocchio::JointDataRevoluteTpl<double, 0, 0>; TN = {pinocchio::JointDataRevoluteTpl<double, 0, 1>, pinocchio::JointDataRevoluteTpl<double, 0, 2>, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 0> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 1> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 2> >, pinocchio::JointDataFreeFlyerTpl<double, 0>, pinocchio::JointDataPlanarTpl<double, 0>, pinocchio::JointDataRevoluteUnalignedTpl<double, 0>, pinocchio::JointDataSphericalTpl<double, 0>, pinocchio::JointDataSphericalZYXTpl<double, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 1>, pinocchio::JointDataPrismaticTpl<double, 0, 2>, pinocchio::JointDataPrismaticUnalignedTpl<double, 0>, pinocchio::JointDataTranslationTpl<double, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 1>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 2>, pinocchio::JointDataRevoluteUnboundedUnalignedTpl<double, 0>, boost::recursive_wrapper<pinocchio::JointDataCompositeTpl<double, 0, pinocchio::JointCollectionDefaultTpl> >}; typename Visitor::result_type = void]’:
/usr/include/boost/variant/variant.hpp:1414:9: required from ‘void boost::variant<T0, TN>::destroy_content() [with T0_ = pinocchio::JointDataRevoluteTpl<double, 0, 0>; TN = {pinocchio::JointDataRevoluteTpl<double, 0, 1>, pinocchio::JointDataRevoluteTpl<double, 0, 2>, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 0> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 1> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 2> >, pinocchio::JointDataFreeFlyerTpl<double, 0>, pinocchio::JointDataPlanarTpl<double, 0>, pinocchio::JointDataRevoluteUnalignedTpl<double, 0>, pinocchio::JointDataSphericalTpl<double, 0>, pinocchio::JointDataSphericalZYXTpl<double, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 1>, pinocchio::JointDataPrismaticTpl<double, 0, 2>, pinocchio::JointDataPrismaticUnalignedTpl<double, 0>, pinocchio::JointDataTranslationTpl<double, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 1>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 2>, pinocchio::JointDataRevoluteUnboundedUnalignedTpl<double, 0>, boost::recursive_wrapper<pinocchio::JointDataCompositeTpl<double, 0, pinocchio::JointCollectionDefaultTpl> >}]’
/usr/include/boost/variant/variant.hpp:1421:9: required from ‘boost::variant<T0, TN>::~variant() [with T0_ = pinocchio::JointDataRevoluteTpl<double, 0, 0>; TN = {pinocchio::JointDataRevoluteTpl<double, 0, 1>, pinocchio::JointDataRevoluteTpl<double, 0, 2>, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 0> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 1> >, pinocchio::JointDataMimic<pinocchio::JointDataRevoluteTpl<double, 0, 2> >, pinocchio::JointDataFreeFlyerTpl<double, 0>, pinocchio::JointDataPlanarTpl<double, 0>, pinocchio::JointDataRevoluteUnalignedTpl<double, 0>, pinocchio::JointDataSphericalTpl<double, 0>, pinocchio::JointDataSphericalZYXTpl<double, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 0>, pinocchio::JointDataPrismaticTpl<double, 0, 1>, pinocchio::JointDataPrismaticTpl<double, 0, 2>, pinocchio::JointDataPrismaticUnalignedTpl<double, 0>, pinocchio::JointDataTranslationTpl<double, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 0>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 1>, pinocchio::JointDataRevoluteUnboundedTpl<double, 0, 2>, pinocchio::JointDataRevoluteUnboundedUnalignedTpl<double, 0>, boost::recursive_wrapper<pinocchio::JointDataCompositeTpl<double, 0, pinocchio::JointCollectionDefaultTpl> >}]’
/usr/local/include/pinocchio/multibody/joint/joint-generic.hpp:68:10: required from ‘void __gnu_cxx::new_allocator<_Tp>::destroy(_Up*) [with _Up = pinocchio::JointDataTpl; _Tp = pinocchio::JointDataTpl]’
/usr/include/c++/9/bits/alloc_traits.h:260:4: required from ‘static decltype (__a.destroy(__p)) std::allocator_traits<_Alloc>::_S_destroy(_Alloc2&, _Tp*, int) [with _Alloc2 = Eigen::aligned_allocator<pinocchio::JointDataTpl >; _Tp = pinocchio::JointDataTpl; _Alloc = Eigen::aligned_allocator<pinocchio::JointDataTpl >; decltype (__a.destroy(__p)) = void]’
/usr/include/c++/9/bits/alloc_traits.h:364:14: required from ‘static void std::allocator_traits<_Alloc>::destroy(_Alloc&, _Tp*) [with Tp = pinocchio::JointDataTpl; Alloc = Eigen::aligned_allocator<pinocchio::JointDataTpl >]’
/usr/include/c++/9/bits/stl_construct.h:198:19: [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/python/detail/destroy.hpp:52:15: required from ‘void boost::python::detail::destroy_referent_impl(void*, T& ()()) [with T = const pinocchio::DataTpl]’
/usr/include/boost/python/detail/destroy.hpp:58:26: required from ‘void boost::python::detail::destroy_referent(void, T ()()) [with T = const pinocchio::DataTpl&]’
/usr/include/boost/python/converter/rvalue_from_python_data.hpp:135:51: required from ‘boost::python::converter::rvalue_from_python_data::~rvalue_from_python_data() [with T = const pinocchio::DataTpl&]’
/usr/include/boost/python/converter/arg_from_python.hpp:106:8: required from ‘PyObject boost::python::detail::caller_arity<5>::impl<F, Policies, Sig>::operator()(PyObject*, PyObject*) [with F = tsid::math::ConstraintInequality ()(tsid::contacts::Contact6d&, double, const Eigen::Matrix<double, -1, 1>&, const Eigen::Matrix<double, -1, 1>&, const pinocchio::DataTpl&); Policies = boost::python::default_call_policies; Sig = boost::mpl::vector6<tsid::math::ConstraintInequality, tsid::contacts::Contact6d&, double, const Eigen::Matrix<double, -1, 1>&, const Eigen::Matrix<double, -1, 1>&, const pinocchio::DataTpl&>; PyObject = _object]’
/usr/include/boost/python/object/py_function.hpp:38:33: required from ‘PyObject boost::python::objects::caller_py_function_impl::operator()(PyObject*, PyObject*) [with Caller = boost::python::detail::caller<tsid::math::ConstraintInequality (*)(tsid::contacts::Contact6d&, double, const Eigen::Matrix<double, -1, 1>&, const Eigen::Matrix<double, -1, 1>&, const pinocchio::DataTpl&), boost::python::default_call_policies, boost::mpl::vector6<tsid::math::ConstraintInequality, tsid::contacts::Contact6d&, double, const Eigen::Matrix<double, -1, 1>&, const Eigen::Matrix<double, -1, 1>&, const pinocchio::DataTpl&> >; PyObject = object]’
/usr/include/boost/python/object/py_function.hpp:36:15: required from here
/usr/include/boost/variant/variant.hpp:2407:41: error: using invalid field ‘boost::variant<T0, TN>::storage’
2407 | which, which(), visitor, storage.address()
| ^~~~~~~~
/usr/include/boost/variant/variant.hpp:2408:13: error: return-statement with a value, in function returning ‘boost::static_visitor<>::result_type’ {aka ‘void’} [-fpermissive]
2408 | );
| ^
bindings/python/CMakeFiles/tsid_pywrap.dir/build.make:137: recipe for target 'bindings/python/CMakeFiles/tsid_pywrap.dir/contacts/contact-6d.cpp.o' failed
make[2]: *** [bindings/python/CMakeFiles/tsid_pywrap.dir/contacts/contact-6d.cpp.o] Error 1
make[2]: Leaving directory '/home/dan/Dev/tsid/_build-RELEASE'
CMakeFiles/Makefile2:546: recipe for target 'bindings/python/CMakeFiles/tsid_pywrap.dir/all' failed
make[1]: *** [bindings/python/CMakeFiles/tsid_pywrap.dir/all] Error 2
make[1]: Leaving directory '/home/dan/Dev/tsid/_build-RELEASE'
Makefile:143: recipe for target 'all' failed
make: *** [all] Error 2
Any help would be appreciated.