catkin_make clean (missing files for msg/srv headers)
I'm working on a project, and I've noticed an aberrant behaviour with catkin_make clean
. The project contains .msg and .srv. If I clean the folder using catkin_make clean
, the header files associated with .msg and .srv are deleted. When I built the project again, CMake complained that the header files associated with .msg and .srv were missing. To resolve the problem, I have to comment add_executable
and target_link_libraries
so that catkin
will be able to generate the header files again. After that, I have to uncomment add_executable
and target_link_libraries
. Is this normal? I'm using ubuntu 16.04 with kinetic ros version.
Quick comment: your
CMakeLists.txt
is missing anadd_dependencies(..)
for your nodes / libraries. See C++ message or service dependencies in the Catkin documentation.There are quite a few Q&As about this on ROS Answers actually.
Also: could you please explain why you're still using Kinetic on Ubuntu
16.04
? Kinetic has been EOL for quite some time now.@gvdhoorn can you provide a link for discussing this issue in the answers? I'm using Kinetic because I'm working with a project that that supports this version. Unfortuntalely, the developers of packages I'm using have no update for the newest version. I totally agree with you about sticking with the latest version.
If you use Google and add
site:answers.ros.org
to your query you should be able to find those previous Q&As.But the documentation I linked already explains what you need to do.
as always: unless things actually error out while building, packages not stating compatibility or having been released for newer versions of ROS doesn't mean they can't be used with newer versions.
But this is off-topic, as: it won't solve your current problem (that has an unrelated cause) and you have already tried.