- changed status to resolved
trac_ik build error on Debian Stretch for ROS lunar; no match for ‘operator=’
Issue #46
resolved
Hi,
I'm trying to build trac_ik on Debian Stretch. I'd like to use the trac kinematics with planning in Moveit. I've installed the apt-packages for ros-lunar from deb http://packages.ros.org/ros/ubuntu stretch main
When invoking catkin_make I get the following error (first mention copied below, full error at https://gist.github.com/luminize/ac3a79ae2b3d35f8d5f0faebb3534011)
I'd like to fix this but I'm not sure where to start. If somebody would walk me through I'd love to make a PR for this.
Cheers, Bas
/home/bas/catkin_ws/src/trac_ik/trac_ik_lib/src/trac_ik.cpp: In constructor ‘TRAC_IK::TRAC_IK::TRAC_IK(const string&, const string&, const string&, double, double, TRAC_IK::SolveType)’:
/home/bas/catkin_ws/src/trac_ik/trac_ik_lib/src/trac_ik.cpp:91:70: error: no match for ‘operator=’ (operand types are ‘boost::shared_ptr<const urdf::Joint>’ and ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’)
joint = robot_model.getJoint(chain_segs[i].getJoint().getName());
^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
from /usr/include/boost/date_time/time_clock.hpp:17,
from /usr/include/boost/thread/thread_time.hpp:9,
from /usr/include/boost/thread/lock_types.hpp:18,
from /usr/include/boost/thread/pthread/thread_data.hpp:12,
from /usr/include/boost/thread/thread_only.hpp:17,
from /usr/include/boost/thread/thread.hpp:12,
from /usr/include/boost/thread.hpp:13,
from /home/bas/catkin_ws/src/trac_ik/trac_ik_lib/include/trac_ik/trac_ik.hpp:37,
from /home/bas/catkin_ws/src/trac_ik/trac_ik_lib/src/trac_ik.cpp:32:
/usr/include/boost/smart_ptr/shared_ptr.hpp:524:18: note: candidate: boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(const boost::shared_ptr<T>&) [with T = const urdf::Joint]
shared_ptr & operator=( shared_ptr const & r ) BOOST_NOEXCEPT
^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:524:18: note: no known conversion for argument 1 from ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’ to ‘const boost::shared_ptr<const urdf::Joint>&’
/usr/include/boost/smart_ptr/shared_ptr.hpp:533:18: note: candidate: template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator=(const boost::shared_ptr<Y>&) [with Y = Y; T = const urdf::Joint]
shared_ptr & operator=(shared_ptr<Y> const & r) BOOST_NOEXCEPT
^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:533:18: note: template argument deduction/substitution failed:
/home/bas/catkin_ws/src/trac_ik/trac_ik_lib/src/trac_ik.cpp:91:70: note: ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’ is not derived from ‘const boost::shared_ptr<X>’
joint = robot_model.getJoint(chain_segs[i].getJoint().getName());
Comments (2)
-
Account Deactivated -
reporter Thanks, This resolved the issue. Apologies for not reporting back earlier.
- Log in to comment
This should be fixed in the latest (tag 1.4.8)