ROS-humbleでcolcon buildをするとエラーが出る件

下記サイトのチュートリアルを挑戦中にビルドエラーが発生しました。それについて備蓄ログを書いていきたいと思います。

https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html

画像をクリックすると楽天に飛びます。

問題点

チュートリアル通りにワークスペースを作成し、サンプルプログラムをダウンロードし、その後ビルドを行いました。

colcon build --symlink-install

ところが、上記コマンドを実行すると、以下のエラーメッセージが表示されました。

SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

調査の結果、このエラーはsetuptoolsのバージョンの互換性に関連するものであることがわかりました。

解決策

まずは自分のsetuptoolsのバージョンを確認していきます。確認の方法はコマンドプロンプトを開き以下のコマンドを実行することで確認することができる。

python3
Python 3.11.1 (main, Aug  7 2023, 22:09:10) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import setuptools
>>> print(setuptools.__version__)
65.5.0
>>> exit()

これにより、私の場合、バージョンが65.5.0だとわかります。しかしROSとの互換性があるのは58.2.0までです。

そこで、以下のコマンドを使用してsetuptoolsをバージョン58.2.0にダウングレードします。

pip install setuptools==58.2.0

setuptoolsをダウングレードすることでビルドエラーは解消されます。ただし、このダウングレードの方法は最適な方法ではない可能性があります。私の場合、humbleをアンインストールし、最新のironをインストールしてからビルドしたところ、エラーは発生しなくなりました。そのため、humblrではなくironを使用することをおすすめします。

まとめ

ROSのチュートリアルを進める中で発生するビルドエラーについてお話しました。チュートリアルが思ったより進まないことは frustratiing ですが頑張っていきたいと思います。