ソースコードからのビルドとインストール (MacOS X編)

コレオノイドはMacOS Xでも利用することが可能です。 ただし現在のところは、Lionのみが当方でビルドと動作を確認できているMacOS Xのバージョンになります。

MacOS Xでのビルドとインストールは、Ubuntu Linuxの場合と共通する部分も多いため、本ドキュメントではMacOS Xで異なる部分を中心に、ビルド・インストール手順の例を解説します。 ソースコードからのビルドとインストール (Ubuntu Linux編) についても併せて参照するようにしてください。

注釈

(2012年8月18日追記)現在のバージョンでは Mac OS X上で動作させる場合にいくつか致命的なバグがあることが判明しました。本件への対応については、近々修正版をリリースしたく思いますが、それまではメーリングリストの この投稿 をご参照ください。

Xcode のインストール

MacOS Xでビルドを行う場合、コンパイラなどの開発ツール一式をインストールするため、Appleが提供している "Xcode" というアプリケーションをインストールします。これは MacOS Xのユーザーであれば、アップルストアから無料でダウンロードしてインストールすることが可能です。詳しくは Xcode の解説をあたってください。

MacPorts のインストール

MacOS Xは標準では Ubuntu のようなパッケージシステムは備えていないようですが、ユーザによって開発されているパッケージシステムとパッケージ群がいくつかあります。

本ドキュメントでは、その中から "MacPorts" と呼ばれるパッケージシステムの利用について紹介します。当方で試したところ、このシステムで依存ツール・ライブラリの多くをインストールすることが出来ました。

The MacPorts Project より、MacPorts をダウンロードしてインストールしてください。

MacPortsによるパッケージのインストール

MacPortsを用いて、

  • CMake
  • Boost
  • Eigen 3
  • libyaml
  • jpeg ライブラリ
  • gettext
  • pkgconfig

をインストールします。

$ sudo port install cmake boost eigen3 libyaml jpeg gettext pkgconfig

とします。

また、ODEプラグインやOpenHRPプラグインを利用したい場合は、それぞれ

  • Open Dynamics Engine
  • omniORB

もインストールしておく必要があります。それぞれ、

$ sudo port install ode
$ sudo port install omniORB

でインストールできます。

注釈

Boost バージョン 1.50.0 以降については、上記の方法でインストールしたものは問題ありませんが、ソースアーカイブから自前でビルド・インストールしたものについては、コレオノイドのビルド時にリンクエラーが出てしまいます。この問題はまだ解決できていませんので、自前で Boost をインストールする場合はバージョン 1.49 以前のものを使うようにしてください。

Qtのインストール

Qtをインストールします。Qt は MacPorts でもインストール出来るようなのですが、当方で試したのは、`Qt公式サイト `<http://qt.nokia.com/>`_ より配布されている "Qt libraries for Mac" のインストーラで、これを用いてQtのインストールを行いました。

なお、ソースアーカイブに同梱のBalancerPlugin のバイナリはQtライブラリにも依存しており、上記の手段でQtをインストール環境でビルドしたものです。従って、BalancerPluginを利用するにあたっては、上記の手段でQtをインストールしておく必要があるかもしれません。

OpenSceneGraphのインストール

OpenSceneGraphについても、MacPortsにパッケージがあるのですが、Lion上でこれを試したところ途中でエラーが出てしまい、インストール出来ませんでした。そこで OpenSceneGraphのページ からバージョン 3.0.1 のソースを取得してコンパイルを試みたのですが、これも途中でエラーが出てしまい、コンパイル出来ませんでした。どうも、Macの新しい環境への対応が十分でないようです。

仕方ないので開発版のソースを Subversion で取得し、これを用いたところ無事コンパイルが通りました。開発版ソースの取得に関しては このページ に説明があります。

MacPortsでSubversionをインストールし、

$ sudo port subversion

適当なディレクトリで

$ svn checkout http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk OpenSceneGraph

を実行して、ソースを取得します。

後は OpenSceneGraph のマニュアルに従って、ビルドとインストールを行なってください。インストール先の lib にパスが通っていない場合、環境変数 DYLD_LIBRARY_PATH に lib へのパスを追加しておきます。

ビルド

CMake によるビルド設定については、上記の手順に従う場合、OpenSceneGraph は自動で検出されませんので、 OSG_DIR にインストール先を設定します。

後は問題なくビルドできるかと思います。

インストールと実行

Ubuntuと同様に、ビルドしたコレオノイドの実行ファイル一式はそのまま実行することが可能です。 また、"make install" を行うことにより、CMakeの CMAKE_INSTALL_PREFIX で指定しているディレクトリへ必要なファイル一式をインストールすることが出来ます。

注釈

(2012年8月8日追記) Mac OS X ではコマンドラインからChoreonoidを起動する場合、ビルド/インストール先の"bin"ディレクトリから ./choreonoid とタイプして実行すると、プラグインが読み込めず正常に動作しないという問題が発覚しました。次のバージョンで修正しますが、それまでは "bin" より上のディレクトリから実行するようにしてください。例えばひとつ上のディレクトリで ./bin/choreonoid として実行します。

注釈

コレオノイドバージョン1.2では "make install" でインストールしたバイナリを実行させる際に共有ライブラリパスの手動設定が必要でしたが、バージョン1.3ではCMakeの ENABLE_INSTALL_RPATH が ON になっていれば(デフォルトではONになっています)、この設定は不要です。

なお、Qt のスタイルについてはデフォルトで MacOS X の標準GUIと同様のものとなっています。これも良いのですが、ツールバーのアイコンが大きくなってしまったりして、無駄が多い気もします。これについて、例えば、

$ bin/choreonoid -style Cleanlooks

といったように、-style オプションを使うことで他のスタイルに切り替えることができます。この例のように Cleanlooks にすると、Ubuntuの場合と同様のスタイルになります。

Balancerプラグインのコピー

MacOS X については、ソースアーカイブの "proprietary/BalancePlugin/libCnoidBalancerPlugin.dylib" が BalancerPlugin のバイナリになります。これをビルド(インストール)先の "lib/choreonoid-x.x/ 以下にコピーしてください。このバイナリもLionでコンパイルしたもので、同等の環境であれば動作すると思われます。

注釈

バージョン1.2ではバイナリに不具合がありBalancerPluginを動作させることが出来ませんでしたが、1.3ではこの問題を解決するべく修正を行なっています。それでもうまく動かない場合は、OSのバージョンや依存ライブラリのインストール手順が本ドキュメントの説明に一致しているかをご確認の上、メーリングリストにてお知らせください。