Ask Your Question
1

Why does catkin_make fail when package depends on 'move_base' ?

asked 2016-09-29 18:46:19 -0500

elpidiovaldez gravatar image

I have been using ROS for a few days and I am following the tutorial for setting up the Navigation Stack. It tells me to create a package as follows:

catkin_create_pkg my_robot_name_2dnav move_base my_tf_configuration_dep my_odom_configuration_dep my_sensor_configuration_dep

Since tf and odom are handled in the zen package, and my sensor is a Kinect, my actual command is:

catkin_create_pkg zen_2dnav2 move_base freenect_launch zen

When I execute catkin_make I get an error due to move_base:

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
Could not find a package configuration file provided by "move_base" with
any of the following names:

  move_baseConfig.cmake
  move_base-config.cmake

I googled and subsequently removed the error by:

  • Removing the build-Dependency on move_base from package.xml
  • Removing move_base from find_package(catkin REQUIRED COMPONENTS ...) in CMakeLists.txt

So my questions in order of importance are:

  • Why did I get the error ?
  • What are the implications of removing the dependency ? i.e. Will the Navigation Stack fail because of this
  • During my googling I read that move_base is not catkinized and a catkin package cannot depend on it. Does that mean the tutorial is doomed to failure. I am hoping the information is out of date and move_base IS catkinized. How can I check this ? Is there an up to date list of packages that work in Kinetic ?
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2016-09-29 19:34:11 -0500

Why did I get the error?

You are probably getting the error because the move_base package is not installed in your machine. Try to execute the command:

sudo apt-get install ros-kinetic-navigation

It will install all the packages you need to run the navigation stack.

What are the implications of removing the dependency ? i.e. Will the Navigation Stack fail because of this

By removing the dependency your package will fail to compile if it uses any library or header file defined in mobile_base package.

During my googling I read that move_base is not catkinized and a catkin package cannot depend on it. Does that mean the tutorial is doomed to failure. I am hoping the information is out of date and move_base IS catkinized. How can I check this ? Is there an up to date list of packages that work in Kinetic ?

That information is out of date. The package move_base is indeed catkinized. You can check it by taking a look at move_base's CMakeLists.txt file.

roscd move_base
cat CMakeLists.txt

You will see that it uses the proper catkin macros.

If you want to see a list of available packages in Kinetic, execute:

sudo apt-get update
apt-cache search ros-kinetic

I hope this helps

edit flag offensive delete link more

Comments

Exactly what I needed on all my questions. Thank you very much.

I see now that I was trying to setup the navigation stack without actually having installed it. I am amazed I got as far as I did !

elpidiovaldez gravatar imageelpidiovaldez ( 2016-09-30 20:51:02 -0500 )edit

I am glad this solved your issue. If you are happy with the answer, please, mark it as "correct" using the ✅ button. This way people with the same problem can know that this is the correct answer.

Martin Peris gravatar imageMartin Peris ( 2016-09-30 23:26:28 -0500 )edit

I tried to do something to accept your answer for ages, but couldn't find what to click. Thanks for the clue. I was looking where I see 'edit', 'retag' 'close' etc. and had missed that rather understated tick icon. Now done, and thanks again.

elpidiovaldez gravatar imageelpidiovaldez ( 2016-10-02 18:36:35 -0500 )edit

Your Answer

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

Add Answer

Question Tools

2 followers

Stats

Asked: 2016-09-29 18:46:19 -0500

Seen: 1,480 times

Last updated: Sep 29 '16