Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Error on Ubuntu 18.04 with Boost v1.65.1 #128

Open
ssnover opened this issue Oct 31, 2018 · 1 comment
Open

Build Error on Ubuntu 18.04 with Boost v1.65.1 #128

ssnover opened this issue Oct 31, 2018 · 1 comment

Comments

@ssnover
Copy link

ssnover commented Oct 31, 2018

Hello,

I'm currently trying to follow the instructions for compiling the baxter_simulator ROS package on this page: http://sdk.rethinkrobotics.com/wiki/Simulator_Installation

After running catkin_make, I get an error during compilation:

[ 94%] Building CXX object baxter_simulator/baxter_sim_io/CMakeFiles/baxter_sim_io.dir/qrc_sim_io.cxx.o
/home/ssnover/catkin_ws/src/baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp: In member function ‘bool arm_kinematics::Kinematics::readJoints(urdf::Model&)’:
/home/ssnover/catkin_ws/src/baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp:248:65: error: conversion from ‘urdf::LinkConstSharedPtr {aka std::shared_ptr<const urdf::Link>}’ to non-scalar type ‘boost::shared_ptr<const urdf::Link>’ requested
   boost::shared_ptr<const urdf::Link> link = robot_model.getLink(tip_name);
                                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/home/ssnover/catkin_ws/src/baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp:255:60: 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(link->parent_joint->name);
                                                            ^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /home/ssnover/catkin_ws/src/baxter_simulator/baxter_sim_kinematics/src/arm_kinematics.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547: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_SP_NOEXCEPT
                  ^~~~~~~~

It appears that one of the dependencies has updated to use modern C++ std::shared_ptr instead of boost::shared_ptr and it broke compilation.

@gachiemchiep
Copy link

@ssnover95 use the pull request in #130
it will fix this error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants