Rosanswers logo


I have problems compiling a package that uses the C++ dynamic reconfigure server. More specifically it is copy of base_local_planner with a few modifications.

I know that "there is no c++ api for dynamic reconfigure", however it is used there and I really don't want to remove it. I don't even know if my problem is related to the c++ api or dynamic reconfigure in general.

My problem is, that rosmake refuses to build my package, I get the following output:

[rosbuild] Building package adaptive_trajectory_planner
[rosbuild] Cached build flags older than manifests; calling rospack to get flags
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/rospy/cmake/rospy.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/roslisp/cmake/roslisp.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake
MSG: gencfg_cpp on:BaseLocalPlanner.cfg
Finding dependencies for /home/bublitz/SR1/adaptive_trajectory_planner/cfg/BaseLocalPlanner.cfg
-- Configuring done
-- Generating done
-- Build files have been written to: /home/bublitz/SR1/adaptive_trajectory_planner/build
cd build && make 
make[2]: Betrete Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'
make[3]: Betrete Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'
make[4]: Betrete Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'
Scanning dependencies of target ROSBUILD_gencfg_cpp
make[4]: Verlasse Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'
make[4]: Betrete Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'
[  0%] Generating ../cfg/cpp/adaptive_trajectory_planner/BaseLocalPlannerConfig.h, ../docs/BaseLocalPlannerConfig.dox, ../docs/BaseLocalPlannerConfig-usage.dox, ../src/adaptive_trajectory_planner/cfg/BaseLocalPlannerConfig.py, ../docs/BaseLocalPlannerConfig.wikidoc
make[4]: execvp: ../cfg/BaseLocalPlanner.cfg: Keine Berechtigung
make[4]: *** [../cfg/cpp/adaptive_trajectory_planner/BaseLocalPlannerConfig.h] Fehler 127
make[4]: Verlasse Verzeichnis '/home/bublitz/SR1/adaptive_trajectory_planner/build'

"Keine Berechtigung" means "no permission"

Since I cannot find any useful documentation about how to use dynamic reconfigure parameters I have to ask here. Can anyone tell my what I have to do in order to make my package? I don't know what the commands inside the .cfg file do. Mostly the exit(gen.generate( ... line confuses me. I'm not sure if I just have to change the .cfg in some way or there's a problem somewhere else. Thanks for any help.

This is the (shortened) .cfg file

#!/usr/bin/env python

import roslib; roslib.load_manifest(PACKAGE)

import sys
from math import pi

from dynamic_reconfigure.parameter_generator import *

gen = ParameterGenerator()

gen.add("acc_lim_x", double_t, 0, "The acceleration limit of the robot in the x direction", 1.0, 0, 20.0)
# some more gen.add(...) lines

exit(gen.generate(PACKAGE, "adaptive_trajectory_planner", "BaseLocalPlanner"))

Originally posted by Kai Bublitz on ROS Answers with karma: 357 on 2012-04-02

Post score: 1


1 Answer 1


Rosanswers logo

The "no permission" thing looks like you should give your .cfg file execution permissions:

chmod a+x cfg/BaseLocalPlanner.cfg

Hope it helps.

Originally posted by Jose Luis Blanco with karma: 288 on 2012-04-02

This answer was ACCEPTED on the original site

Post score: 3

Original comments

Comment by Kai Bublitz on 2012-04-02:
Yes, it's that easy. Thanks.


Your Answer

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