Search code examples
ros

ROS services are not building properly


I am trying to build my custom ROS services. They are inside a another parent package the structure is as follows:

|--catkine_ws
| |--src
| | |--Parent
| | | |--CMakeLists.txt 
| | | |--package.xml
| | | |--ChildA
| | | | |--CMakeLists.txt 
| | | | |--package.xml
| | | | |--srv
| | | | | |--SomeService.srv
| | | |--ChildB

The packages are building correctly and I am able to use them in other nodes and packags. however when I try to use rossrv list the custom services do not appear. I think that this is causing some issues when I try to build my Simulink controller and it cannot find the service message definition.

Does any one have any idea what is going on?


Solution

  • I was able to fix the problem, while not obvious, the solution was rather simple. I had to change the slightly change the structure of the package by making the parent package a meta package then do some handling to make sure that the sub packages still had access to the cmakes to locate my external packages.