I am compiling ROS2 galactic through Yocto for an imx8qm. The only thing that doesn't work is rosbag2-py. When I run ros2 bag on the device, I get the error: Failed to load entry point 'play' : No module named 'rosbag2_py._reader'. In the /usr/lib/python3.10/site-packages/rosbag2-py folder, all of the files end in 'cpython-310-x86_64-linux-gnu.so'. I would expect them to be 'cpython-310-aarch64-linux-gnu.so', so it looks like Yocto isn't cross-compiling them. How do I change the yocto recipe so that the python libraries are cross-compiled?
Update: file I run the 'file' command on the librarys, I can see that the files are being built for ARM aarch64, even though they are named '..x86_64..'. The problem seems to be that ros2 bag isn't finding them properly.
Originally posted by eburley on ROS Answers with karma: 16 on 2023-05-02
Post score: 0