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

コレオノイドはMac OS Xでも利用することが可能です。 現在のところ当方でビルドと動作を確認できているMacOS Xのバージョンは v10.7 Lion と v10.8 Mountain Lion です。

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

Xcode のインストール

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

MacPorts のインストール

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

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

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

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

MacPortsを用いて、依存ソフトウェアをインストールします。 このためのスクリプト "install-requisites-macports.sh" がコレオノイドソースの misc/script 以下にあるので、これを実行してください。:

misc/script/install-requisites-macports.sh

この操作により、以下のソフトウェアがインストールされます。

  • CMake
  • Boost
  • Eigen
  • libyaml
  • jpegライブラリ
  • gettext
  • pkgconfig
  • Open Dynamics Engine
  • omniORB
  • GLEW
  • libsndfileライブラリ

Qtのインストール

Qtをインストールします。 当方で試したのは、Qt Project サイトのダウンロードページ で配布されている "Qt libraries 4.8.5 for Mac" パッケージです。これをダウンロードしてインストールしたところ、 コレオノイドのビルドに使うことができました。

バージョンは4.8系を用います。バージョン 5 以降への対応はまだ行なっておりません。

Qt は MacPorts でもインストール出来るようなのですが、そちらは試していません。

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

../_images/install_mac2.png

図のようなエラーが表示された場合は、

../_images/install_mac3.png

システム環境設定を開いて、”セキュリティとプライバシー”で、”ダウンロードしたアプリケーションの実行許可”を”すべてのアプリケーションを許可”に設定してください。

その他依存ソフトウェアのインストール

以下のインストール作業は必須ではありませんが、該当するプラグインを利用したい場合は行ってください。

OpenRTM-aist 1.1 のインストール

OpenRTMプラグインを利用したい場合は OpenRTM-aist バージョン1.1系をインストールします。 今のところは、公式サイトよりソースアーカイブを取得して自前でコンパイル・インストールを行う必要があるかと思います。

なお、現在公開されている OpenRTM-aist-1.1.0-RELEASE については、Mac OS X 上でChoreonoidと組み合わせて使う場合に一部不具合があります。具体的には、「CORBAネームサーバが稼働していない状態でChoreonoidおよびOpenRTMプラグインを起動する際にはChoreonoidが自前のネームサーバを起動しようとするが、この場合にOpenRTMの初期化で固まってしまう」というものです。あらかじめomniNames等のネームサーバを起動しておけばこの不具合を回避できますし、固まった後再度Choreonoidを起動する場合にも固まらなくなります。

この不具合を解消するパッチをChoreonoidのソースアーカイブに含めていますので、不具合を避けたい、あるいはよく分からないという場合には、このパッチを当ててください。

パッチファイルは misc/patch/ にある "fix-openrtm-aist-1.1.0-blocking-osx.patch" というファイルです。これを OpenRTM-aist のソースに対して適用します。具体的には、OpenRTM-aistのソースディレクトリにて、

patch -p0 < パッチファイルへのパス

とします。これにより、OpenRTM-aist の src/lib/coil/posix/coil/Routing.cpp に修正が適用され、上記不具合が解消されます。

Bullet Physics ライブラリのインストール

Bulletプラグインを利用したい場合は Bullet Physics ライブラリをインストールします。 これについてはMacPortsのパッケージがあるのですが、当方で試した際にはそちらではBulletプラグインをコンパイル出来ませんでした。 MacPortsの最新版ではまた状況が変わっているかもしれませんが、ソースコードから自前でインストールした方が確実かと思います。 コンパイルの際にはCMakeの設定で BUILD_SHARED_LIBSUSE_DOUBLE_PRECISION をONにしておきます。

ビルド

Ubuntuの場合と同様に、コマンドラインから行う方法と、Xcodeのビジュアルな環境から行う方法があります。どちらかを選択してください。

コマンドラインからビルド

・Xcode コマンドラインツールのインストール

最近のバージョンのXcodeではコンパイラ等のコマンドライン版がオプション扱いとなったようなので、これらをインストールします。 Xcodeを起動して、Xcodeのメニューから Xcode-Preferences を選択します。

../_images/install_mac1.png

表示されたパネルの Downloads、Componentsを選択します。 Command Line Tools の横の"install"ボタンを押します。 もしここにこの項目がなければ、コマンドラインツールも本体と同時にインストールされていると思われます。 インストールが終了したら、Xcodeを終了します。

・コマンドラインからビルド

ターミナルを起動し、Ubuntuの場合と同様に、cmakeの設定を行なってmakeコマンドによってビルドを行なってください。

Xcodeからビルド

・プロジェクトの作成

ターミナルを起動し、choreonoidのディレクトリに移動します。

ccmake . -G Xcode

を実行し、cmakeの設定を行なってください。

・Xcodeの起動

インストールには管理者権限が必要なので、以下のようにしてXcodeを起動します。

sudo /Application/Xcode.app/Contents/MacOS/Xcode

パスはお使いの環境によって異なっているかもしれません。

・ビルド メニューから File-Open を選択してchoreonoid.xcodeproj を開きます。

../_images/install_mac4.png

図中のボタンを押して、ALL_BUILDを選択します。 もう一度、同じボタンを押して、Edit Scheme...を選択します。

../_images/install_mac5.png

RunのタグのBuild ConfigurationをReleaseに設定します。 ダイアログを閉じて、メニューからProduct-buildを選択すると、ビルドが開始されます。

・インストール

上で、ALL_BUILDを選択したボタンを押して、今度はInstallを選択します。 もう一度、同じボタンを押して、Edit Scheme...を選択します。 先ほどと同じように、RunのタグのBuild ConfigurationをReleaseに設定します。 ダイアログを閉じて、メニューからProduct-buildを選択すると、インストールが開始されます。

インストールと実行

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

注釈

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

bin/choreonoid -style Cleanlooks

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

Balancerプラグインのコピー

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