top of page
検索

✅【トラブル解決】ROS2 humbleで「spdlog.soのImportError」が出る場合の対処法(Isaac Simとの共存環境)

  • 執筆者の写真: M K
    M K
  • 2024年10月2日
  • 読了時間: 2分

更新日:5月7日


ree

■ 実行環境

  • OS:Ubuntu 22.04.5 LTS

  • ROS2:humble

  • 他ソフトウェア:NVIDIA Isaac Sim

🛠️ 起動エラーの概要

ROS2 humble および Isaac Sim をインストールした環境で、ROS2 単体を起動しようとしたところ、以下のようなエラーが発生することがあります。


ImportError: /opt/ros/humble/lib/librcl_logging_spdlog.so: undefined symbol: ZN6spdlog7details7logmsgC1...

これは librcl_logging_spdlog.so のライブラリが破損しているか、互換性のない spdlog バージョンを読み込んでいることが原因で発生します。


💡 原因とポイント

このエラーは通常、ROS2の再インストールで解消されることが多いですが、Isaac Simをインストールしている場合、Isaac Sim にバンドルされた ROS2 (humble) のライブラリが先に読み込まれることがあります。

つまり、Isaac Sim 側の ROS2 が壊れている可能性があるのです。



🧩 解決策:Isaac Sim の ROS2 を読み込まないようにする


Isaac Sim のチュートリアルに従って環境構築をしている場合、~/.bashrc に以下のようなエクスポート設定が追加されているはずです。


source /path/to/isaac_sim/ros2_workspace/install/setup.bash

これをコメントアウト(または削除)して、Isaac Sim 側の ROS2 を読み込まないようにしましょう。


✔ 手順

ターミナルで .bashrc を編集

vi ~/.bashrc

以下のような行を見つけて、先頭に # を付けてコメントアウト

# source ~/isaac_sim/ros2_workspace/install/setup.bash

.bashrc を保存して閉じる

ターミナルを再起動、または .bashrc を再読み込み

source ~/.bashrc

🚀 結果:ROS2が正常起動

上記の変更後、ターミナルで ros2 コマンドを実行してもエラーが出ず、正常に起動するようになります。


✉️ 補足

Isaac SimとROS2を同時に利用する環境では、環境変数の管理が非常に重要です。プロジェクトごとに仮想環境やコンテナを活用するのも有効な選択肢です。

最新記事

すべて表示
第一期目を振り返る

【今期の主な実績と振り返り】 2024年8月8日の法人設立から約10か月が経過し、以下の実績を積み上げてきました。 売上高:500万円超 法人口座開設(メガバンク等) 政策金融公庫より融資獲得 各種団体への加入:ソフトウェア協会、中小企業同友会、商工会議所...

 
 
 
東京と横浜、話すスピードから見えた「効率」と「効果」

東京都と神奈川県(特に横浜)を日常的に行き来する生活が続いている。移動の距離自体は大したことではないが、両者を行き来する中で、ある違いがじわじわと気になってきた。 それは―― 人々の「話すスピード」の違い だ。 東京では、会話のテンポが速い。言葉が次々と飛び交い、相槌さえも...

 
 
 

コメント


bottom of page