Error during katana_driver build process
Hi All,
I am trying to build the katana_driver for ROS + Gazebo using instructions on this page. My OS is Ubuntu 16.10 (yakkety) 64-bit and my ROS distribution is Lunar. I am running into errors when catkinmake is trying to link the executable min-max-trajectory at 98% of the build. The entire catkinmake output is here. The steps I followed to reach this point is as follows:
- Install ROS Lunar Desktop Full on yakkety,
rosdep init
androsdep update
. Also source the setup.bash file in "/opt/ros/lunar/" to .bashrc and install the additional wstools as mentioned on the ROS installation page here. - Create "gazebokatanaws/src" directory in my home folder and
cd
into it. - Execute
wstool init
,wstool merge katana.rosinstall
andwstool update
using the rosinstall file katana.rosinstall. It pulls the lunar branch katanadriver from github into the "gazebokatana_ws/src". - Then execute
rosdep update
androsdep install --from-paths ./ -i -y
. All dependencies get installed. - Then execute
catkin_init_workspace
,cd ..
andcatkin_make
. The build process starts and runs file till it reaches 98% and then gives the linking error mentioned above. A small part of the error displayed is as follows:
[ 98%] Linking CXX executable /home/sripad/gazebokatanaws/devel/lib/katanaarmgazebo/minmaxtrajectory
/home/sripad/gazebokatanaws/devel/lib/libgazeboroskatana_gripper.so: error: undefined reference to 'gazebo::common::Time::Time()'
/home/sripad/gazebokatanaws/devel/lib/libgazeboroskatana_gripper.so: error: undefined reference to 'gazebo::common::Time::~Time()'
/home/sripad/gazebokatanaws/devel/lib/libgazeboroskatana_gripper.so: error: undefined reference to 'gazebo::physics::Base::GetWorld() const'
/home/sripad/gazebokatanaws/devel/lib/libgazeboroskatanagripper.so: error: undefined reference to 'sdf::Element::HasElement(std::cxx11::basicstring
, std::allocator > const&) const' ...
Please help me in figuring out how to solve this issue and pass the build. Any help is appreciated.
Thanks.
Asked by sripadkowshik on 2017-08-07 14:44:07 UTC
Comments
Can you tell us why you are trying to build the pkg from sources?
katana_driver
has been released for Lunar on Yakkety, so a simplesudo apt-get install ros-lunar-katana-driver
should be enough.Asked by gvdhoorn on 2017-08-08 01:52:01 UTC
@gvdhoorn thanks for the tip. I didn't know that for lunar you could directly install from the package repo. I will do that as the first step. But I am planning to modify the driver a bit in the future and hence would also like to know how to solve the errors and pass the build.
Asked by sripadkowshik on 2017-08-08 03:54:45 UTC
In general you should try to install packages using the provided binaries and never build things from source, unless you want to work on the pkgs themselves or they haven't been released for your particular platform/OS.
Asked by gvdhoorn on 2017-08-08 04:20:18 UTC
@gvdhoorn thanks again for the information you provided me I was able to successfully install the Katana binary from the repo. But as I mentioned earlier, I want to mess around the package itself for research purposes for which build success is important. Any help in this direction is appreciated.
Asked by sripadkowshik on 2017-08-08 07:52:47 UTC