Kobukiの開発環境をビルドするとエラーが出る([Error] Conflict kobuki and Cartographer)
Kobuki with TurttleBot2 と Cartographer の競合
基本的には次の参考サイトの通りでインストールできます。
Google Cartoghraperをインストールしている環境だとハマりました。競合的な問題が起きて、関連パッケージのバージョンがかみ合わずにビルドが通りません。解決法をメモしておきます。
起きたエラー
kobuki_gazebo_plugins
をビルド中に
error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is ...
のエラーが出てビルドできない
原因と対応策
このissueと同じ手順で解消できる。Cartographerとkobuki_gazebo_plugins はどちらもprotocol bufferを利用しているようだが、これ適切なバージョンでないとこれが原因でエラーが起きるらしい。kobuki_gazebo_pluginsが新しいバージョンに対応していないのが悪い。以下手順のコピペです。
- Cartographerインストール時に入ってきた protobuf を削除
cd /usr/local/include/google
sudo rm -rf protobuf
- cartographer_ros の再コンパイル
ドキュメントの手順 に従って再度インストール作業を進める.但し,
src/cartographer/scripts/install_proto3.sh
を一度編集し, VERSION=”v3.4.1” を VERSION=”v3.0.0” に変更してこのスクリプトを実行する必要がある. - kobuki_nodeを再ビルドする