Comment corriger l'erreur fatale ROS : ros/console.h : No such file or directory

Problème

Vous essayez d’exécuter colcon build sur une bibliothèque ou un projet ROS mais vous voyez le journal d’erreur suivant :

ros_console_error.txt
In file included from /home/user/message_logger/build/message_logger/include/message_logger/log/log_messages_backend_config.hpp:61,
                 from /home/user/message_logger/include/message_logger/log/log_messages_backend.hpp:46,
                 from /home/user/message_logger/include/message_logger/log/log_messages.hpp:44,
                 from /home/user/message_logger/include/message_logger/message_logger.hpp:43,
                 from /home/user/message_logger/src/demo.cpp:6:
/home/user/message_logger/include/message_logger/log/log_messages_ros.hpp:43:10: fatal error: ros/console.h: No such file or directory
   43 | #include <ros/console.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/demo.dir/build.make:76: CMakeFiles/demo.dir/src/demo.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:185: CMakeFiles/demo.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2

Solution

Actuellement, le paquet ros-console n’est pas disponible dans le dépôt apt officiel ROS2 au moment de la rédaction de cet article.

Par conséquent, je vous recommande de cloner le dépôt, de le compiler en utilisant colcon puis d’exécuter source install/setup.bash avant de compiler votre paquet.

build_rosconsole.sh
git clone https://github.com/ros/rosconsole
cd rosconsole
colcon build
source install/setup.bash

Après cela (dans le même shell), compilez à nouveau votre autre paquet en utilisant colcon build.


Check out similar posts by category: ROS, C/C++