Error during katana_driver build process

asked 2017-08-07 14:45:14 -0600

sripadkowshik gravatar image

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 catkin_make is trying to link the executable min-max-trajectory at 98% of the build. The entire catkin_make output is here. The steps I followed to reach this point is as follows:

  1. Install ROS Lunar Desktop Full on yakkety, rosdep init and rosdep 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.
  2. Create "gazebo_katana_ws/src" directory in my home folder and cd into it.
  3. Execute wstool init, wstool merge katana.rosinstalland wstool update using the rosinstall file katana.rosinstall. It pulls the lunar branch katana_driver from github into the "gazebo_katana_ws/src".
  4. Then execute rosdep update and rosdep install --from-paths ./ -i -y. All dependencies get installed.
  5. Then execute catkin_init_workspace, cd .. and catkin_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/gazebo_katana_ws/devel/lib/katana_arm_gazebo/min_max_trajectory

/home/sripad/gazebo_katana_ws/devel/lib/ error: undefined reference to 'gazebo::common::Time::Time()'

/home/sripad/gazebo_katana_ws/devel/lib/ error: undefined reference to 'gazebo::common::Time::~Time()'

/home/sripad/gazebo_katana_ws/devel/lib/ error: undefined reference to 'gazebo::physics::Base::GetWorld() const'

/home/sripad/gazebo_katana_ws/devel/lib/ error: undefined reference to 'sdf::Element::HasElement(std::__cxx11::basic_string<char, std::char_traits<char="">, std::allocator<char> > const&) const'


Please help me in figuring out how to solve this issue and pass the build. Any help is appreciated.


edit retag flag offensive close merge delete


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 simple sudo apt-get install ros-lunar-katana-driver should be enough.

gvdhoorn gravatar image gvdhoorn  ( 2017-08-08 01:52:01 -0600 )edit

@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.

sripadkowshik gravatar image sripadkowshik  ( 2017-08-08 03:54:45 -0600 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2017-08-08 04:20:18 -0600 )edit

@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.

sripadkowshik gravatar image sripadkowshik  ( 2017-08-08 07:52:47 -0600 )edit