ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I finally figured out the issue (and a solution today). The python IDL interfaces for my version of ROS used python3.10. Despite the normal python install on my machine being python3.10, for whatever reason, when I ran colcon build it was finding a spurious python3.6 install, so the python IDL interfaces for the packages in my workspace were being built using that (and were not compatible with the CLI commands). So the IDL products would be under the path /home/user/ws/install/test_msgs/local/lib/python3.10/dist-packages/test_msgs, but the IDL libraries were test_msgs_s__rosidl_typesupport_*.cpython-3.6-*.so instead of *.cpython-3.10*.so.

I did not find a quick way to specify that colcon/cmake explicitly use python3.10, so I fixed this issue by removing python3.6 from my machine, removing the build, install, and log folders, and doing a fresh build.

I finally figured out the issue (and a solution today). solution) today. The python IDL interfaces for my version of ROS used python3.10. Despite the normal python install on my machine being python3.10, for whatever reason, when I ran colcon build it was finding a spurious python3.6 install, so the python IDL interfaces for the packages in my workspace were being built using that (and were not compatible with the CLI commands). So the IDL products would be under the path /home/user/ws/install/test_msgs/local/lib/python3.10/dist-packages/test_msgs, but the IDL libraries were test_msgs_s__rosidl_typesupport_*.cpython-3.6-*.so instead of *.cpython-3.10*.so.

I did not find a quick way to specify that colcon/cmake explicitly use python3.10, so I fixed this issue by removing python3.6 from my machine, removing the build, install, and log folders, and doing a fresh build.