Skip to content

[master]{ros2} ament_cmake: add python configurations for class-target - #1670

Open
jiaxshi wants to merge 1 commit into
ros:masterfrom
jiaxshi:master
Open

[master]{ros2} ament_cmake: add python configurations for class-target#1670
jiaxshi wants to merge 1 commit into
ros:masterfrom
jiaxshi:master

Conversation

@jiaxshi

@jiaxshi jiaxshi commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

Add target configurations for fixing wrong PYTHONSOABI of python c libraries in rosbag2_py.

Issue: runtime error of rosbag2

root@qcs6490-rb3gen2-core-kit:/# ros2 bag -h
Failed to load entry point 'burst': No module named 'rosbag2_py._compression_options'
Failed to load entry point 'convert': No module named 'rosbag2_py._compression_options'
Failed to load entry point 'info': No module named 'rosbag2_py._compression_options'
Failed to load entry point 'play': No module named 'rosbag2_py._compression_options'
Failed to load entry point 'record': No module named 'rosbag2_py._compression_options'
Failed to load entry point 'reindex': No module named 'rosbag2_py._compression_options'
usage: ros2 bag [-h] Call `ros2 bag <command> -h` for more detailed usage. ...

Root Cause

Because the target configuration is missing, the Python interpreter reads PYTHON_SOABI from the host (x86_64), which results in incorrectly named(x86_64) libraries.

ls /usr/ros/jazzy/lib/python3.14/site-packages/rosbag2_py/
__init__.py                                           _reader.pyi
__init__.pyi                                          _reindexer.cpython-314-x86_64-linux-gnu.so
__pycache__                                           _reindexer.pyi
_compression_options.cpython-314-x86_64-linux-gnu.so  _storage.cpython-314-x86_64-linux-gnu.so
_compression_options.pyi                              _storage.pyi
_info.cpython-314-x86_64-linux-gnu.so                 _transport.cpython-314-x86_64-linux-gnu.so
_info.pyi                                             _transport.pyi
_message_definitions.cpython-314-x86_64-linux-gnu.so  _writer.cpython-314-x86_64-linux-gnu.so
_message_definitions.pyi                              _writer.pyi
_reader.cpython-314-x86_64-linux-gnu.so               py.typed

@jiaxshi jiaxshi changed the title [master]{ros2}: ament_cmake: inherit python3targetconfig [master]{ros2}: ament_cmake: add python configurations for class-target Mar 6, 2026
Add target python configurations for fixing wrong PYTHONSOABI
of python c libraries in rosbag2_py.

Signed-off-by: Jiaxing Shi <jiaxshi@qti.qualcomm.com>
@RicardoM17

Copy link
Copy Markdown

Tested on my side and it works

Would love to see this merged :)

@robwoolley robwoolley changed the title [master]{ros2}: ament_cmake: add python configurations for class-target [master]{ros2} ament_cmake: add python configurations for class-target May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants