Error compiling native msg (rosidl_typesupport_opensplice_cpp)
I have two posts
msg1 [Test.msg]
string address
char [8] buffer_data
bool status
msg2 [TestArray.msg]
stdmsgs / header header
bool backgroundsend
Test [] address_count
bool ch0
I use DDS from OpenSplice, and when compiling I use colcon. When I try to compile any messages (msg), I get the following error:
Traceback (most recent call last):
File "/ opt / ros / crystal / lib / rosidl_typesupport_opensplice_cpp / rosidl_typesupport_opensplice_cpp", line 60, in <module>
sys.exit (main ())
File "/ opt / ros / crystal / lib / rosidl_typesupport_opensplice_cpp / rosidl_typesupport_opensplice_cpp", line 55, in main
args.idl_pp,
File "/opt/ros/crystal/lib/python3.6/site-packages/rosidl_typesupport_opensplice_cpp/__init__.py", line 86, in generate_dds_opensplice_cpp
_modify (h_filename, msg_name, _replace_path_and_timestamp, idl_path = idl_path)
File "/opt/ros/crystal/lib/python3.6/site-packages/rosidl_typesupport_opensplice_cpp/__init__.py", line 100, in _modify
modified = callback (lines, msg_name, idl_path = idl_path)
File "/opt/ros/crystal/lib/python3.6/site-packages/rosidl_typesupport_opensplice_cpp/__init__.py", line 119, in _replace_path_and_timestamp
assert False, "Failed to find '// Generated:' line"
AssertionError: Failed to find '// Generated:' line
make [2]: *** [rosidl_typesupport_opensplice_cpp / marker_msgs / msg / rtp_energy_feedback__rosidl_typesupport_opensplice_cpp.hpp] Error 1
make [2]: *** Deleting file 'rosidl_typesupport_opensplice_cpp / marker_msgs / msg / rtp_energy_feedback__rosidl_typesupport_opensplice_cpp.hpp'
make [1]: *** [CMakeFiles / marker_msgs__rosidl_typesupport_opensplice_cpp.dir / all] Error 2
make [1]: *** Waiting for unfinished jobs ....
make: *** [all] Error 2
---
Failed <<< marker_msgs [Exited with code 2]
As far as I could figure it out, this error is related to updating OpenSplice, when compiling it does not raise the Generated flag. How can I fix this problem?
Asked by D0l0RES on 2019-08-20 21:58:12 UTC
Answers
You will need to update your Crystal installation to the latest Debian packages synced today (see https://discourse.ros.org/t/patch-release-and-new-packages-for-ros-2-crystal-2019-08-21/10367). The ros-crystal-rosidl-typesupport-opensplice-*
packages fix this assert which happens when using the latest version of OpenSplice.
Asked by Dirk Thomas on 2019-08-21 12:30:14 UTC
Comments