Compilation problem of Crocoddyl bindings on Pinocchio v2.1.5
The compilation of Python bindings fails for Pinocchio v2.1.5, on the other hand it works for v2.1.3-4. The message errors is the follows:
In file included from /local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp:8:0,
from /local/users/cmastall/include/pinocchio/multibody/model.hpp:17,
from /devel/crocoddyl/include/crocoddyl/multibody/states/state-multibody.hpp:13,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/crocoddyl.cpp:15:
/local/users/cmastall/include/pinocchio/multibody/joint/joint-collection.hpp:82:5: error: wrong number of template arguments (21, should be at least 0)
> JointModelVariant;
^
In file included from /usr/include/boost/variant/variant.hpp:26:0,
from /usr/include/boost/variant.hpp:17,
from /local/users/cmastall/include/pinocchio/multibody/joint/joint-collection.hpp:11,
from /local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp:8,
from /local/users/cmastall/include/pinocchio/multibody/model.hpp:17,
from /devel/crocoddyl/include/crocoddyl/multibody/states/state-multibody.hpp:13,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/crocoddyl.cpp:15:
/usr/include/boost/variant/variant_fwd.hpp:293:53: 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> class boost::variant’
template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
^
In file included from /local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp:8:0,
from /local/users/cmastall/include/pinocchio/multibody/model.hpp:17,
from /devel/crocoddyl/include/crocoddyl/multibody/states/state-multibody.hpp:13,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/crocoddyl.cpp:15:
/local/users/cmastall/include/pinocchio/multibody/joint/joint-collection.hpp:144:5: error: wrong number of template arguments (21, should be at least 0)
> JointDataVariant;
^
In file included from /usr/include/boost/variant/variant.hpp:26:0,
from /usr/include/boost/variant.hpp:17,
from /local/users/cmastall/include/pinocchio/multibody/joint/joint-collection.hpp:11,
from /local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp:8,
from /local/users/cmastall/include/pinocchio/multibody/model.hpp:17,
from /devel/crocoddyl/include/crocoddyl/multibody/states/state-multibody.hpp:13,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/crocoddyl.cpp:15:
/usr/include/boost/variant/variant_fwd.hpp:293:53: 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> class boost::variant’
template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
^
In file included from /local/users/cmastall/include/pinocchio/multibody/model.hpp:17:0,
from /devel/crocoddyl/include/crocoddyl/multibody/states/state-multibody.hpp:13,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/multibody.hpp:12,
from /devel/crocoddyl/bindings/python/crocoddyl/crocoddyl.cpp:15:
/local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp: In instantiation of ‘struct pinocchio::JointModelTpl<double>’:
/usr/include/c++/5/bits/stl_vector.h:161:9: required from ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = pinocchio::JointModelTpl<double>; _Alloc = Eigen::aligned_allocator_indirection<pinocchio::JointModelTpl<double> >]’
/usr/include/c++/5/bits/stl_vector.h:425:33: required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = pinocchio::JointModelTpl<double>; _Alloc = Eigen::aligned_allocator_indirection<pinocchio::JointModelTpl<double> >]’
/usr/include/eigen3/Eigen/src/StlSupport/StdVector.h:72:9: required from ‘boost::python::objects::value_holder<Value>::value_holder(PyObject*, A0) [with A0 = boost::reference_wrapper<const crocoddyl::StateMultibody>; Value = crocoddyl::StateMultibody; PyObject = _object]’
/usr/include/boost/python/object/make_instance.hpp:71:48: required from ‘static Holder* boost::python::objects::make_instance<T, Holder>::construct(void*, PyObject*, boost::reference_wrapper<const T>) [with T = crocoddyl::StateMultibody; Holder = boost::python::objects::value_holder<crocoddyl::StateMultibody>; PyObject = _object]’
/usr/include/boost/python/object/make_instance.hpp:45:31: required from ‘static PyObject* boost::python::objects::make_instance_impl<T, Holder, Derived>::execute(Arg&) [with Arg = const boost::reference_wrapper<const crocoddyl::StateMultibody>; T = crocoddyl::StateMultibody; Holder = boost::python::objects::value_holder<crocoddyl::StateMultibody>; Derived = boost::python::objects::make_instance<crocoddyl::StateMultibody, boost::python::objects::value_holder<crocoddyl::StateMultibody> >; PyObject = _object]’
/usr/include/boost/python/object/class_wrapper.hpp:29:37: [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/python/object/class_metadata.hpp:229:55: required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_aux2(T2*, Callback) [with T2 = crocoddyl::StateMultibody; Callback = boost::integral_constant<bool, false>; T = crocoddyl::StateMultibody; X1 = boost::python::bases<crocoddyl::StateAbstract>; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/object/class_metadata.hpp:219:38: required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_aux(void*) [with T = crocoddyl::StateMultibody; X1 = boost::python::bases<crocoddyl::StateAbstract>; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/object/class_metadata.hpp:205:37: required from ‘static void boost::python::objects::class_metadata<T, X1, X2, X3>::register_() [with T = crocoddyl::StateMultibody; X1 = boost::python::bases<crocoddyl::StateAbstract>; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/class.hpp:497:28: required from ‘void boost::python::class_<T, X1, X2, X3>::initialize(const DefVisitor&) [with DefVisitor = boost::python::init_base<boost::python::init<pinocchio::ModelTpl<double>&> >; W = crocoddyl::StateMultibody; X1 = boost::python::bases<crocoddyl::StateAbstract>; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/usr/include/boost/python/class.hpp:217:9: required from ‘boost::python::class_<T, X1, X2, X3>::class_(const char*, const char*, const boost::python::init_base<DerivedT>&) [with DerivedT = boost::python::init<pinocchio::ModelTpl<double>&>; W = crocoddyl::StateMultibody; X1 = boost::python::bases<crocoddyl::StateAbstract>; X2 = boost::python::detail::not_specified; X3 = boost::python::detail::not_specified]’
/devel/crocoddyl/bindings/python/crocoddyl/multibody/states/state-multibody.hpp:32:99: required from here
/local/users/cmastall/include/pinocchio/multibody/joint/joint-generic.hpp:129:10: error: base type ‘pinocchio::JointCollectionDefaultTpl<double>::JointModelVariant {aka int}’ fails to be a struct or class type
struct JointModelTpl
@mnaveau and @bhammoud be aware of this problem
@jcarpent and @nmansard do you know the reason of this issue?
I reported this issue also here: https://github.com/stack-of-tasks/pinocchio/issues/837
Edited by Carlos Mastalli