ROS2 foxyをMac OS Xで動かす

投稿者: | 2020年6月9日

ROS2 foxyがリリースされました。LTSですね!

基本的には公式wikiのとおりにインストールすればいいのですが、ハマりポイントをメモしておきます。

Python 3.8まわり

Ubuntu 20.04の都合なのか、Python 3.8をシステムのデフォルトにする必要があります。
Homebrewのデフォルトは現在のところ3.7なので、公式wiki記載の通り、以下コマンドで対応する必要があります。

ここで注意しないといけないのは、DashingやEloquentをインストールしていた場合、以前pipでインストールしたパッケージはPython 3.7に紐ついています。
私の環境では、モジュールを一度アンインストールしないとうまく動作しませんでした。(colconがPython 3.7を参照したり、numpyのバージョンエラーが出たりしました)

尚、pyenv-virtualenvでROS2 foxy環境を作ろうと思ったのですが、提供されているバイナリパッケージは/usr/local/bin/pythonに依存しているらしく動作しませんでした。
ソースビルドすればうまくいくかもしれませんが…面倒

brew pin

ROS2のバイナリパッケージはHomebrewでインストールしたパッケージのバージョンに依存してしまっています。
brew upgradeしたときに勝手にバージョンアップしないように設定します。

既にバージョンの不整合が起こってしまっている場合、古いパッケージをインストールするように頑張る必要があります。

Homebrew Coreを2020/6/5日時点に戻してインストール、brew pinした後にbrew update、といった手順が良さそうです。
過去記事に記載している様に、パッケージを一つづつ確認して、git logを見ながらほしいバージョンをインストールすることも可能ですが、かなり面倒です。

Mac OS Xでbrew upgradeしたらROS2が動かなくなった話

 

以下、筆者がインストールした各パッケージのバージョンを記載しておきます。 ※2020年6月9日時点
今後Patch Releaseで新たなバイナリが配布された場合、unpin→upgrade→pinの作業が必要になるかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です