0
$\begingroup$

Rosanswers logo

Hello,

I'm migrating a project from rosbuild to catkin, and I'm having some problems with the files using dynamic reconfigure. Currently I'm trying to make the package "controller" which contains a configuration file called dynconfig.cfg.

I followed the migration tutorial to adapt my files, so here's what I did:

  • Removed import roslib;roslib.load_manifest(PACKAGE) in the .cfg file
  • Changed from dynamic_reconfigure.parameter_generator import * to from dynamic_reconfigure.parameter_generator_catkin import * in the .cfg file
  • Added generate_dynamic_reconfigure_options(cfg/dynconfig.cfg) to my CMakeLists.txt
  • Added the dynamic_reconfigure dependencies (as run_depend and build_depend in the package.xml as well as in find_package and catkin_package in the CMakeLists)
  • Added add_dependencies(controller controller_controller) in the CMakeLists. I'm not quite sure if this is right. I have an executable called controller in the package controller. However, I don't think that's where the error comes from.

Here's the error I get:

> make[2]: *** No rule to make target `/home/bic039/catkin_ws/src/controller/cfg/dynconfig.cfg', needed by `/home/bic039/catkin_ws/devel/include/controller/dynconfigConfig.h'.  Stop.

Does anybody have an idea where this error might come from? I've been stuck on this issue for quite a while.

Cheers, Rob


Originally posted by Rob on ROS Answers with karma: 11 on 2013-10-10

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Did you remember this?

find_package(catkin REQUIRED COMPONENTS dynamic_reconfigure)

Assuming your node is named "controller", the dependencies should look more like:

add_dependencies(controller ${${PROJECT_NAME}_EXPORTED_TARGETS}) 

See the catkin dynamic reconfigure how-to for details.


Originally posted by joq with karma: 25443 on 2013-10-10

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.