Ask Your Question

roslib reference error

asked 2014-11-06 22:21:34 -0500

Hiro Ono gravatar image

updated 2014-11-11 00:39:24 -0500

130s gravatar image

I did:

string fname = ros::package::getPath("foo")

and got:

test.cpp:(.text+0x424): undefined reference to `ros::package::getPath(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

Looking at existing discussions, it seems that this is because of failure to link to roslib.

I upgraded all ros packages and tried again but did not work. Your help will be very appreciated.

ROS version: Hydro OS: Ubuntu 12.04 I installed through apt-get


cmake_minimum_required(VERSION 2.8.3)

find_package(catkin REQUIRED COMPONENTS roscpp std_msgs)

   INCLUDE_DIRS include
   CATKIN_DEPENDS roscpp std_msgs actionlib_msgs actionlib

include_directories(include ${catkin_INCLUDE_DIRS})
add_executable(hoge src/PathPlanner/test.cpp)
target_link_libraries(hoge ${catkin_LIBRARIES})


<?xml version="1.0"?>
edit retag flag offensive close merge delete


Please update your question with your CMakeLists.txt, package.xml, OS, ROS version and whether you've installed from source or debs. Without that, we cannot help you.

gvdhoorn gravatar imagegvdhoorn ( 2014-11-07 01:46:04 -0500 )edit

I added the requested info. Thank you very much for your help.

Hiro Ono gravatar imageHiro Ono ( 2014-11-07 21:12:51 -0500 )edit

Problem solved?

gvdhoorn gravatar imagegvdhoorn ( 2014-11-09 02:27:25 -0500 )edit

Don't know why the whole thread was deleted. I just reverted it back.

130s gravatar image130s ( 2014-11-11 00:40:09 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted

answered 2014-11-12 15:53:03 -0500

Hiro Ono gravatar image

I actually solved by my self. It was CMakeList.txt. I added roslib to find_package and CATKIN_DEPENDS as below and it worked.

find_package(catkin REQUIRED COMPONENTS roscpp std_msgs)

   INCLUDE_DIRS include
   CATKIN_DEPENDS roscpp std_msgs actionlib_msgs actionlib
edit flag offensive delete link more



In the example shown I can't see that you added roslib in find_pacakge or CATKIN_DEPENDS, but did I understand you correctly that you meant to include them?

Azergoo gravatar imageAzergoo ( 2018-07-13 01:26:09 -0500 )edit

answered 2018-07-04 10:09:34 -0500

jeremie gravatar image

Hi, ty Giro Ono, you saved me, even if your code was not completely ok... I solved the issue changing CMakelist.txt AND package.xml

In CMakelist.txt :

find_package(catkin REQUIRED COMPONENTS roscpp  std_msgs rosily)


catkin_package(INCLUDE_DIRS include CATKIN_DEPENDS roscpp std_msgs roslib)

In package.xml

  <build_depend>roslib</build_depend> <run_depend>roslib</run_depend>

Pb solved ! (kinetic, c++11, ubuntu 16.04)

edit flag offensive delete link more


You wrote "rosily" in find_package. Did you mean "roslib" instead?

Azergoo gravatar imageAzergoo ( 2018-07-13 01:10:27 -0500 )edit

This worked! I added "roslib" to find_package, CATKIN_DEPENDS and in package.xml I added roslib as <build_depend> and <exec_depend>

Azergoo gravatar imageAzergoo ( 2018-07-13 01:11:56 -0500 )edit

answered 2014-11-11 01:28:58 -0500

Wolf gravatar image

I had the same problem caused by some precompiled libs; try running sudo apt-get update and sudo apt-get upgrade to make sure everything installed is up-to-date and delete your workspace lib/devel/install folders and rerun catkin_make to make sure literally everything is recompiled...

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-11-06 22:21:34 -0500

Seen: 3,324 times

Last updated: Jul 04 '18