Some message types not discovered in Bazel build
Some message types are not discovered when published using the Bazel build. This is not particular to Python, but also occurs for the C++ examples (so it does not appear to be a binding issue).
How to replicate
From terminal 1 run the C++ rover_publisher:
$ ./bazel-bin/python_ignition/rover_publisher
Publishing pose on topic [/pose], twist on topic [/twist]
Publishing pose on topic [/pose], twist on topic [/twist]
...
From terminal 2 run the C++ ign_topic_echo subscribing to /pose:
$ /bazel-bin/python_ignition/ign_topic_echo -t /pose
header {
stamp {
sec: 4
nsec: 513947250
}
}
name: "base_link"
id: 9
position {
x: 4.6053049700144255
y: 1.9470917115432527
}
orientation {
z: 0.19866933079506122
w: 0.98006657784124163
}
...
From terminal 2 run the C++ ign_topic_echo subscribing to /twist:
$ /bazel-bin/python_ignition/ign_topic_echo -t /twist
In the second case no messages are displayed for the type ignition.msgs.Twist
Using the Python tools we can verify that both messages are published:
$ ./bazel-bin/python_ignition/python/ign_topic_list
/pose
/twist
$ ./bazel-bin/python_ignition/python/ign_topic_info -t /pose
Publishers [Address, Message Type]:
tcp://192.168.1.31:62260, ignition.msgs.Pose
$ ./bazel-bin/python_ignition/python/ign_topic_info -t /twist
Publishers [Address, Message Type]:
tcp://192.168.1.31:62260, ignition.msgs.Twist
The issue is apparent with other messages types as can be seen by using the multi-message publisher:
From terminal 1:
$ ./bazel-bin/python_ignition/python/pub_all_msg_types
From terminal 2:
$ ./bazel-bin/python_ignition/python/ign_topic_list
/cmd_vel
/double
/double_v
/float
/float_v
/header
/pid
/pose
/publish
/quat
/subscribe
/time
/topic_info
/twist
/vector3d
/wrench
and then checking each topic in turn:
# working
$ ./bazel-bin/python_ignition/ign_topic_echo -t /double
header {
stamp {
sec: 15
nsec: 21
}
}
data: 10
...
# not working
$ ./bazel-bin/python_ignition/ign_topic_echo -t /double_v
The issue does not occur when running the examples built using the CMake build.