経緯

ロボット界隈では相当有名で, 最近ではaiboでも使われていることで話題になっているROS. 現在の最新版であるROS Lunarが公式に対応1しているのはUbuntu/Debian/Gentooあたりです.2
最近私はArch Linuxに乗り換えたのでArchでもROSを使おうと思い始めました. 実はAURにROS Lunarは存在し, 日本語wikiページも存在します.
ただ

ROS Lunar は AUR パッケージでインストールすることができ、問題なく動作します。

と書かれているものの, そのままではインストールに失敗するところがいくつかありました. 正直Archを使ってる人には不要だと思いますが, どうすればうまくインストールすることが出来るのか書いておきます.

インストール

今回はros-lunar-desktop-fullをインストールします.
そのままインストールしていると, おそらくros-lunar-image-viewのビルドで失敗します. これはコメントにも書かれていますが, 本来は必要なgtkglextが依存関係に含まれていないためです. 前もってインストールしておきましょう.
おそらくインストールはこれで無事終わるはずです. なのでインストール自体はこんな感じで終わるはずです.

sudo pacman -S gtkglext
yaourt -S ros-lunar-desktop-full

ちなみに, ros-lunar-desktop-fullはひたすらyを押す必要があるので --noconfirm オプションをつけておくと良いでしょう.

初期設定

次にROSの catkin_ws をビルドします. ですが, このビルドも失敗します.
理由としては python-empycatkin-pkg の2つが認識できていないためです. 前者はAURにあるpython-empyをインストールすることで解決します.
後者は, 依存関係によりpython2-catkin_pkgがインストールされているはずなのですが何故か認識されません. なので, pipの catkin-pkg を無理やり入れて解決しました.
結果としては以下のコマンドを打ってから catkin_make しました.

yaourt -S python-empy
sudo pacman -S python-pip
pip install --user catkin-pkg

起動確認

とりあえずturtlesimでも起動してみます.

turtlesim
turtlesim

無事動きました. 他にもrqt_bagやrvizや自作プログラムを走らせましたが今のところ問題なさそうでした.
この辺の話は本来ならissueを投げるみたいなことをすべきなのかもしれませんが, Archは最近使い始めたばかりでコミュニティについて全然理解してないので自分のブログに書く程度にとどめておきます.3


  1. 実験的にサポートされているものを含む. ↩︎

  2. http://wiki.ros.org/lunar/Installation ↩︎

  3. gtkglextに関してはすでにコメントされてますしね. ↩︎