MoriKen's Journal

MoriKen's Journal

アラサー社会人博士による徒然日記。技術についてつらつら。だけだとコンテンツが貧弱なので、会社公認で大学院博士課程に進学した経緯や、独学でTOEICを475→910にしたノウハウを共有します。

【ROS2】gzserver: symbol lookup error で Gazebo が起動しない場合の対処法

Sponsored Link

環境

  • Ubuntu 18.04
  • ROS2 dashing
  • Gazebo 9

コマンド

$ ros2 launch gazebo_ros gazebo.launch.py

エラーメッセージ

[gzserver-1] gzserver: symbol lookup error: /opt/ros/dashing/lib/libgazebo_ros_init.so: undefined symbol: _ZN10gazebo_ros9ThrottlerC1Ed

Gazebo インストールしなおしたり、まだ apt に入っていない最新版を入れてみたり、色々やったがお手上げ。

と思ったその時!

対処法

下記コマンドを実行。

$ sudo apt upgrade libignition-math2

新しくターミナルを立ち上げる。ただし、他の ROS 1/2 distribution の環境は一切取り込んでいない状態であること。

そして、下記コマンドを実行。

$ source /opt/ros/dashing/setup.bash;
$ export ROS_DISTRO=dashing;
$ export CHOOSE_ROS_DISTRO=dashing'

これにて解決です。めでたしめでたし。

参考文献

ありがとうございました。