ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

I can't find <dynamic_reconfigure/server.h> in the dynamic_reconfigure package

asked 2022-01-12 05:55:28 -0500

alberto gravatar image

Hi all, I'm learning ROS using the tutorial section. Right now I'm doing this one: http://wiki.ros.org/dynamic_reconfigu....

I understand that dynamic_reconfigure is the package with the tools I need to use, but I can't find this server.h header. I did

rospack find dynamic_reconfigure

and the path is: /opt/ros/melodic/share/dynamic_reconfigure. Then, if I do:

ls /opt/ros/melodic/share/dynamic_reconfigure

I get: cmake msg package.xml srv templates. No sign of server.h ! I've already built and run the node, as the tutorial suggested, and it seems to work. For example, I can find dynamic_tutorials/TutorialsConfig.h in devel/include/dynamic_tutorials.

What am I missing?

edit retag flag offensive close merge delete

Comments

Hi @alberto, can you please post the exact error displayed.

osilva gravatar image osilva  ( 2022-01-12 16:13:06 -0500 )edit

Hi @osilva, I don't have any error. I'm new to ROS, and I want to understand this thing: since the tutorial says:

#include <dynamic_reconfigure/server.h>

I expect to go in the dynamic_reconfigure directory and to find the server.h file, but there isn't any server.h in there. So how can this include work without error? Where is this server.h file? Maybe it's just a dumb question, but I can't find the answer..

alberto gravatar image alberto  ( 2022-01-12 16:48:14 -0500 )edit

Hi @alberto, it's part of dynamic_reconfigure package, check this link that shows the source code for location of server.h

osilva gravatar image osilva  ( 2022-01-12 17:07:28 -0500 )edit

A definitely not a dumb question. It takes time to get used to how the packages work.

osilva gravatar image osilva  ( 2022-01-12 17:09:39 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-01-12 17:16:46 -0500

osilva gravatar image

updated 2022-01-12 17:17:07 -0500

Hi @alberto

You may find the server.h file in this folder:

opt\ros\melodic\include\dynamic_reconfigure

Also you can see the source code here for location of server.h

edit flag offensive delete link more

Comments

1

This answer would be improved if it explained the general layout of the /opt/ros FHS prefix. See REP 122: Filesystem Hierarchy Standard layout changes for ROS for information.

Headers are never present in /opt/ros/$ROS_VERSION/share. Only in /opt/ros/$ROS_VERSION/include.

gvdhoorn gravatar image gvdhoorn  ( 2022-01-13 02:54:20 -0500 )edit

Thank you both! Now I understand, using rospack find I get the path with ../share/.. and it's correct, in fact reading @gvdhoorn link, it says that: All architecture-independent package-relative assets are explicitly installed to share/ros-package-name. But all the headers are installed in the include directory. In fact searching the ../include/.. I find the server.h. Thank you again!

alberto gravatar image alberto  ( 2022-01-13 04:38:31 -0500 )edit

Glad it worked out @alberto. And @gvdhoorn thank for adding the additional information and taking time to improve the answer.

osilva gravatar image osilva  ( 2022-01-13 04:48:09 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2022-01-12 05:55:28 -0500

Seen: 331 times

Last updated: Jan 13 '22