Robocup SSLの開発環境をROS2へ移行する際に備え、SSL Referee BoxとgrSimをMacで動かす。

SSL Referee Box

Ubuntuならaptで依存ライブラリをインストールして、cmake→makeするだけ。
しかし、OS Xではmakeするとglibmm関連のインクルードファイルが見つからないとエラーを吐かれてしまった。

調べたところ、Homebrewでインストールしたlibffiとglibmmが、cmakeのfind packageでうまく見つかっていないよう。

以下のようにPKG_CONFIG_PATHに該当パスを追加してビルドすればビルドに成功する。

brew install cmake glibmm gtkmm protobuf pkg-config
git clone https://github.com/RoboCup-SSL/ssl-refbox.git
cd ssl-refbox/
mkdir build
cd build
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/libffi/lib/pkgconfig
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opt/glibmm/lib/pkgconfig
cmake ..
make
cd ..
./sslrefbox

grSim

grSimはINSTALL.mdにMac版のインストール方法が記載されているので特に困ることはない。
(…と思っていた)

注意書きに書いてある、「公式のVarTypesがOS X非対応だからforkされたnon-officialなブランチを使え」、という内容は、以下のようにコマンドを実行すればよい。

cd /tmp
git clone https://github.com/lordhippo/vartypes
cd vartypes
git checkout -b osx-fix origin/osx-fix
mkdir build
cd build
cmake ..
make
sudo make install

その他諸々のコマンドを動かし、実行ファイル生成まではうまくいく。

しかし実行してみると、qt4のライブラリが二重にロードされているとのエラーが吐かれる…
おそらくHomebrewのPATHで通っているライブラリと、grSim.app内にコピーされたライブラリが二重にロードされている。

個人的にqt4をHomebrewのパッケージで残しておくのが嫌なので、下記コマンドでqt4をアンインストールすることで解決した。
(qt5が出ているのにわざわざqt4を残したくないなぁと)

brew uninstall qt@4 
brew tap-unpin cartr/qt4
brew untap cartr/qt4

ということで、Mac OS X上でSSLの開発環境が整いましたとさ。
めでたしめでたし。

カテゴリー: OS Xロボット

コメントを残す

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