2023年10月23日月曜日

ros2で発生する「_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so」のインポートエラーは全てのパッケージを再インストールすると直ることがある


ros2のパッケージをapt操作で部分的に削除したりインストールしたりしたところ下記のエラーが発生するようになりました。
ImportError: /opt/ros/rolling/lib/python3.10/site-packages/rclpy/_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so: undefined symbol: rcl_count_services
The C extension '/opt/ros/rolling/lib/python3.10/site-packages/rclpy/_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so' failed to be imported while being present on the system. Please refer to 'https://docs.ros.org/en/rolling/How-To-Guides/Installation-Troubleshooting.html#import-failing-even-with-library-present-on-the-system' for possible solutions

試行錯誤したところ、エラーが発生しているrosのdistributionの全てのパッケージをアンインストールしてインストールしなおしたらエラーが出なくなりました。
sudo apt remove ros-rolling-*
sudo apt install ros-rolling-desktop-full

関連するgithubのissueにも自分が行った操作を共有しました。
_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so failed to be imported while being present on the system #1144

rosのパッケージの更新で齟齬が発生したのか、自分のapt操作が悪かったのか、エラーが発生する状況を再現できないので詳細は不明ですが、とりあえず全部インストールし直しで動くようになって良かったです。

0 件のコメント :