ソースコードからのビルドとインストール (Windows編)¶
目次
準備¶
コレオノイドをソースコードからビルドしてインストールするには、ビルドに必要なツールとライブラリを予め準備する必要があります。
- 必要なツール
- Visual C++ 2015 または Visual C++ 2013
- CMake (3.5.2)
まず、上記のツールとライブラリをインストールして下さい。各ライブラリの括弧内の数値は、当方で利用し動作を確認したバージョンで、2016年6月時点での目安となるものです。これらより古いバージョンのものに必ずしも対応しないわけではありませんし、一方でこれらよりバージョンが上のものでビルドに失敗することもあり得ます。(正確に対応バージョンを特定するのは困難ですので、このような記述をご容赦ください。)一般的にはバージョン番号の2番目の値までが同じであれば、同様に使えると考えてよろしいかと思います。
各ツール・ライブラリのインストールに関する補足を以下に述べます。
Visual C++ 2015 または Visual C++ 2013¶
ChoreonoidをコンパイルするためのC++コンパイラとして、Microsoft製のVisual C++を用いることができます。製品版でも結構ですし、無料で使用可能なExpress版も利用可能です。Visual C++ 2015,2013のExpress版は こちらのページ からダウンロードできるようです。Visual Studio Express 2015 for Desktop または Visual Studio Express 2013 for Desktop を選択してください。
現在、32ビットバイナリ、64ビットバイナリがビルドできることを確認しています。(64ビット版Windows上では32ビットバイナリでも動作可能です。)ビルドに必要なライブラリは、32ビット、64ビットを統一する必要がありますので、混在しないように注意してください。
CMake¶
ビルド方法を記述するためのツールです。Choreonoidのビルド方法は本ツールの形式で記述されており、WindowsにおいてはそこからVisual Studio のプロジェクトファイルを生成することが可能です。
CMakeのダウンロードページ よりWindows版のインストーラ"Windows (Win32 Installer)"をダウンロードできますので、これを用いてインストールを行うのが簡単です。
Boost¶
C++の便利なライブラリ集です。ダウンロードは Boost Downloads のページから行うことができますが、ソースをダウンロードした場合はコンパイルが必要となるので注意が必要です。
実際にはあらかじめWindows用にコンパイルされたバイナリを入れてくれるインストーラがありますので、そちらを使うのが簡単です。上記ページに "Prebuilt windows binaries" というリンクがありますので、これをクリックすると Boost Binaries For Windows のページに飛びます。ここからさらにバージョン番号のフォルダをクリックし、その中に含まれる
- boost_1_60_0-msvc-14.0-64.exe (64ビット用)
- boost_1_60_0-msvc-14.0-32.exe (32ビット用)
といったファイルをダウンロードしてください。(ファイル名の "msvc-14.0" の部分がVisual C++ 2015用であることを示しています。2013用はmsvc-12.0です。)
ダウンロードしたファイルを実行することで、インストールを行うことができます。インストール先はデフォルトでは "C:\local\boost_1_60_0" といったフォルダになるようです。このフォルダを後で指定する必要があるので覚えておいて下さい。
Qt¶
QtはGUIを含む総合的なフレームワークライブラリで、ChoreonoidでもGUIのベースとして使っています。
Qtのインストーラは Qtのダウンロードページ にて取得できます。このページにアクセスするとOSにあったインストーラが提示されます。"Recommended download: Qt Online Installer for Windows" と表示されていることを確認して、"Download Now"のボタンを押してダウンロードを行ってください。ダウンロードしたファイルを実行し、インストーラの指示に従って進めます。途中、下図のようなコンポーネントの選択画面で、インストールするライブラリを選択します。
デフォルトでは複数のバージョンにチェックが入っているようですが、古いバージョンは必要ないですし、コンパイラにあったタイプを使う必要があるため、最新版の該当するタイプのものだけチェックするようにします。ここでは Qt5.6 の msvc2015 64bit を選択しています。32ビットの場合は msvc2015 32bit を選択します。 Visual C++ 2013を使用する場合は msvc 2013 を選択してください。
この後インストールが始まります。インストール先はデフォルトでは "C:Qt" 以下になるようです。このフォルダを覚えておいてください。
Eigen¶
行列・ベクトル等の演算に用いるライブラリです。Eigenの公式ページ からダウンロードできます。
本ライブラリはヘッダファイルのみのライブラリで、コンパイルの必要はないので、ダウンロードしたファイルを適当な場所に展開するだけでOKです。ただし、Eigenのファイルはアーカイブファイルや展開後のフォルダにバージョン番号ではない記号が使われており、さらに展開後の階層が深くなるので、そのままだとちょっと分かりづらいかもしれません。以下にフォルダ名を変えるインストールの例を示しますので、参考にしてください。
- Eigenのページから、利用するバージョンのzipファイルをダウンロードします。バージョン3.2.8の場合、"eigen-eigen-07105f7124f9.zip" というファイルになります。このように、ファイル名からはバージョン3.2.8であることが分かりません。また、なぜかeigenの文字が2つも入っています。
- エクスプローラー等を使ってzipファイルを展開します。デフォルトのフォルダ名で展開すると "eigen-eigen-07105f7124f9" というフォルダができるのですが、さらにこの中に同じ名前のフォルダがもうひとつ作成されて、その中にやっとeigenの本体が入っています。
eigen-eigen-07105f7124f9eigen-eigen-07105f7124f9benchblascmake...
- そこで、本体である2番めの"eigen-eigen-07105f7124f9"の名前をまず分かりやすく変えましょう。バージョン番号を付けて以下のようにするとよいと思います。
eigen-eigen-07105f7124f9eigen-3.2.8benchblascmake...
- 最後に、名前を変えた本体のフォルダを適当な場所に移動しましょう。boostがC:\local以下に入るので、これに合わせてC:\local以下に移すのでもよいかと思います。すると最終的にEigenは以下のようにインストールされます。
localboost_1_60_0...eigen-3.2.8benchblascmake...
ソースコードの取得¶
リリース版¶
Choreonoidのリリース版のソースコードは、 ダウンロード のページからダウンロードすることが可能です。このページにある「ソースパッケージ」の該当するバージョンをダウンロードしてください。ファイルはZIPファイルになっていますので、エクスプローラ等を用いて適当なディレクトリに展開してください。
展開すると choreonoid-1.5.0 といったディレクトリが生成されます。このディレクトリの中にソースコード一式が格納されており、本マニュアルではこれを今後 「ソースディレクトリ」 と呼ぶことにします。
開発版¶
Choreonoid開発版も利用可能です。これは git リポジトリとして管理されており、 github の以下のアドレスにて公開されています。
ここからソースを取得するには2つの方法があります。
- Gitツールをインストールする
- Zipファイルで取得する
Gitツールをインストールする¶
リポジトリの利用にあたってはgit用ツールのインストールが必要です。公開されているツールがいくつかありますが、ここではコマンドプロンプトで使用するタイプのインストール方法を説明します。もちろん、使い慣れたツールがあればそれを御使用ください。
Windows用Git からファイルをダウンロードして実行してください。インストーラの指示に従って進めます。設定はデフォルトのままでよいと思いますが、途中下図の様に表示されたら"Use Git from the Windows Command Prompt"を選ぶと、PATHを通してくれます。
インストールが終了したら、コマンドプロンプトを開いて、choreonoidのソースを保存したいディレクトリに移動して、以下のコマンドを実行します。:
git clone https://github.com/s-nakaoka/choreonoid.git
これによってリポジトリを格納した "choreonoid" というディレクトリが生成されます。以降はこのディレクトリ内で
git pull
などとすることにより、その時点での最新のソースコードにアップデートできます。
以上でソースコードの取得はできますが、gitの詳しい使用方法についてはgitのマニュアルや解説記事を参照してください。
Zipファイルで取得する¶
ウェブブラウザを使用して Choreonoidのリポジトリ を開くと、次のように表示されます。
赤枠で示したdownloadZipボタンをクリックすると、最新の内容がZip形式でダウンロードできます。ダウンロードしたファイルを展開してください。
この方法は簡単ですが、git pullコマンドは更新されたファイルだけを取得できるのに対し、この方法は、毎回全てのファイルをダウンロードすることになります。
CMakeを実行¶
まず、スタートメニューからCMake(cmake-gui)を起動します。すると下記のようなダイアログが表示されます。
次に、上図の赤枠①で示された "where is the source code" の右側の入力ボックスにコレオノイドのソースディレクトリを入力し、 "where is build the binaries" の右側の入力ボックスにコレオノイドをビルドするディレクトリを入力します。 ビルドするディレクトリはソースコードと同じでも構いませんが、わかりにくくなるかもしれませんので、ソースディレクトリの下にbuildというディレクトリを作成して、そこを入力することにします。 入力が終われば、赤枠②の "Configure" を押します。 すると下図のようなダイアログが開きますので、コンパイラを選びます。
"Visual Studio 14 2015 Win64"(64ビット用) または"Visual Studio 14 2015"(32ビット用)、"Visual Studio 12 2013 Win64"、"Visual Studio 12 2013"を選択し、"Finish" を押します。
すると、CMakeのConfigureが進行し、コンパイラやライブラリ等の検出が行われます。
注釈
この際に "The C compiler identification is unkown", "The CXX compiler identification is unkown" というメッセージが表示されるかもしれません。この場合は、Visual C++ のコンパイラが正しく検出されていません。原因は不明ですが、開発者の環境のひとつでこの症状が発生したことがあります。この場合、これ以降の処理を正しく進めることができません。
これについては、CMakeを管理者権限で実行したところコンパイラも検出されるようになり、その後の処理も進めることができるようになりました。これを行うには、CMakeのアイコンを右クリックすると出るメニューで「管理者として実行」を選択するなどします。もしこの不具合が発生した場合は、この対処法を試してみてください。
その後下図のようなエラーダイアログで停止するかと思います。このとき、矢印のところにBOOSTの設定が見つけられなかったというエラーが表示されます。 (他のエラーが最初に出るかもしれません。これについては後ほど説明します。) ここでは、 "OK" を押して下さい。
次に、上部のEntry入力部の BOOST_ROOT の右の入力ボックスにBoostをインストールしたルートディレクトリを、BOOST_LIBRARYDIR の右の入力ボックスにBoostのライブラリ(.lib,.dll)が保存されているディレクトリを入力し、再度、"Configure" を押して下さい。
Eigenに関するエラーが表示されたら、 EIGEN_DIR にEigenのインストール先ディレクトリを入力してください。
QT5に関するエラーが表示されたら、 Qt5Core_DIR に Qt5CoreConfig.cmake というファイルの保存場所(おそらく(Qtのインストール先)/5.5/msvc2015_64/lib/cmake/Qt5Coreにあります。)を入力してください。QT5の他のライブラリについてもエラーが表示されているかと思いますが、Coreの設定をして"Configure"ボタンを押すと、消えます。ワーニングは無視して大丈夫です。
注釈
他のライブラリに関しても、CMakeのバージョンやインストールしたライブラリのバージョン、インストール箇所などによっては、検出できずに同様のエラーが出ることがあります。また、以下で説明するオプションの選択によっても、エラーが出る場合があります。この場合、上記と同様に、手動でインストール先を入力するようにしてください。
必要なライブラリのインストール先が全て特定され、エラーが出なくなるまで、上記と同様の設定を繰り返してください。 それらが全て完了すると、"Configuring done"と最後に表示された、下図のような画面になります。
後は、必要に応じてビルドに関する他の様々なオプションを設定することが可能となっています。 例えば、コレオノイドが備えているいくつかの機能はデフォルトではオフになっていますが、 BUILD_で始まるオプションを、必要に応じてそれらをオンにすることができます。
インストール先については、 CMAKE_INSTALL_PREFIX という項目で設定することが可能で、 デフォルトでは "c:\Program Files\Choreonoid" になっています。しかし、Windowsでは "c:\Program Files" 以下は、管理者以外はアクセス不可になっているようですので、インストール時に失敗する可能性があります。管理者権限で実行してそこにインストールしてもよいのですが、他のディレクトリにインストールした方が扱いやすい場合もあります。 その場合は、 CMAKE_INSTALL_PREFIX に適当な、例えば "c:\choreonoid\program"といったディレクトリを 指定しておいてください。
必要な設定を終えたら、"Configure"を押してください。 設定を終えても、"Generate"のボタンが押せるようになっていない場合は、再度"Configure"を押します。 Configureが進行し、下図のように下部のメッセージ出力部に、 “Configuring done” と表示され、 "Generate"ボタンが押せるようになったら、設定は完了です。
最後にVisual Studio のプロジェクトファイルを生成するために、"Generate" を押して下さい。
ソリューションファイルの生成が終了すれば、メッセージ出力部に “Generating done” と表示されて完了です。 エクスプローラ等で、コレオノイドをビルドするディレクトリにVisual Studio のソリューションファイル "Choreonoid.sln" が生成されていることを確認して下さい。
Visual Studio の起動とソリューションの読み込み¶
CMake で Visual Studio のソリューションファイルが生成されていることが確認できれば、次はコレオノイドのビルドを行いますので、 "Choreonoid.sln" をダブルクリックして下さい。Visual Studio が起動し、ソリューションファイルがオープンされていると思います。 もし Visual Studio が起動しない場合には、インストール時に何かあったかもしれませんので、Visual Studio を再インストールするか、関連付けを修正してみてください。あるいは、まず Visual Studio を起動し、その後 Visual Studio のメニューからソリューションファイルを読み込めばうまくいくかもしれません。
コンパイル¶
ソリューションの読み込みが終われば、下図のような画面になります。 ここで、赤枠の部分を "Release" に変更し、64ビットバイナリを生成するのであれば、 x64 と、32ビットバイナリを生成するのであれば Win32 と表示されていることを確認して下さい。 なお、"Debug"にすると、デバッグ可能なバイナリを生成することができます。ただしこれは"Relese"でコンパイルしたものと比べて圧倒的に遅くなってしまうので、デバッグが必要な時以外は、"Release"でコンパイルしたバイナリを使うようにします。
次に、コレオノイドのビルドを実行します。メニューのビルドをクリックすると下図のようなプルダウンメニューが出てきますので、赤枠にあるように "ソリューションのビルド(B)" を選択して下さい。 すると、コレオノイドのビルドが開始されます。 下部のメッセージウィンドウで最後に、 “0 失敗” と出てくればコンパイルは終了です。
インストール¶
コレオノイドのビルドが終了したら、最後にインストールを実行します。 インストールは、下図にあるように、上段左の "ソリューションエクスプローラ" で "INSTALL" のプロジェクトの部分を右クリクするとメニューが表示されます。このメニューの最上部に "ビルド(U)" がありますので(下図の赤枠部分です)、それを選択して下さい。正常に終了すれば、CMakeの時の CMAKE_INSTALL_PREFIX で指定されたディレクトリの下に、コレオノイドのバイナリがコピーされます。CMakeによるソリューションファイル生成時に INSTALL_DEPENDENCIES の項目にチェックを入れておけば、依存ライブラリのバイナリもコピーされます。
以上でコレオノイド のインストールは終了です。
インストール先の bin ディレクトリにある choreonoid.exe をダブルクリックすることで、コレオノイドが起動します。
オプション機能のビルド¶
コレオノイドでは、上記手順のデフォルト状態で有効になるもの以外にも、いくつかのモジュールやプラグイン、サンプル等があります。それらは、CMakeの設定で有効にすることで、ビルドすることができます。 ここではそれらオプション機能のうちいくつかのビルドについて述べます。 オプション機能の概要 にて他のオプションについてもまとめてありますので、そちらもご参照ください。
OpenRTMプラグイン¶
コレオノイド上でRTコンポーネントによるシミュレーションを行うためのプラグインです。このプラグインを利用するためには、OpenRTM-aist 1.1.x と、Pythonをインストールしておく必要があります。
OpenRTM-aistのインストールは、公式サイトより配布されているインストーラを使うのが簡単です。OpenRTM-aistのダウンロードページ より、OpenRTM-aist-1.1.2-RELEASE_x86_64.msi またはOpenRTM-aist-1.1.2-RELEASE_x86.msi をダウンロードしてください。このファイルをクリックすることで、インストーラが起動しますので、これでインストールを行なってください。
Pythonは、Python のサイトからPythonの2.7のダウンロードページに移動して、Windows用のMSI Installerをダウンロードして実行してください。(OpenRTM-aistのダウンロードページにも同じものがあります。) 現在、2.7.11のバージョンでは不具合を確認しております。2.7.10をお使いください。インストーラの指示に従って進め、途中、 "Customize Python 2.7" のところで、 Add python.exe to Path を Will be installed on local hard drive に変更してインストールします。
注釈
これらのインストーラは"OMNI_ROOT"等の環境変数の設定を行いますが、これがインストール直後には反映されない場合があるようです(特に、Windows10で)。この場合以下のCMakeの設定が進められなくなりますので、インストール後にWindowsの再起動を行なってから以下の作業を進めるようにしてください。
OpenRTM-aistがインストール出来ましたら、CMake上で ENABLE_CORBA 、 BUILD_CORBA_PLUGIN 、 BUILD_OPENRTM_PLUGIN をオンにして設定を進めます。OpenRTMプラグインはCorbaプラグインに依存していますので、これら全てをオンにしておく必要があります。また、 BUILD_OPENRTM_SAMPLES をオンにするとRTコンポーネントを用いたシミュレーションのサンプルもビルドされますので、最初はこちらもオンにしてサンプルを試してみてください。
CMakeのConfigureボタンを押した際にOpenRTM-aistが見つからないというエラーが出た場合は、 OPENRTM_DIR にOpenRTM-aistをインストールしたディレクトリを設定してください。上記のOpenRTM-aistインストーラでインストールした場合、デフォルトでは c:\Program Files\OpenRTM-aist\1.1.2 といったディレクトリになります。
CMakeで以上の設定を行った上でGenerateボタンを押すとソリューションファイルが更新されます。このファイルを用いてVisual Studioでコンパイル、インストールを行うことでOpenRTMプラグインが生成されます。他のプラグインも同様ですので、CMakeでオプションの変更を行った後は、必ずコンパイル、インストールの作業を行ってください。
Mediaプラグイン¶
メディアファイルの再生を行うプラグインです。CMake上で BUILD_MEDIA_PLUGIN をONにしてください。
MPEG-4ファイルなどメディアファイルの形式によっては、再生できないものがありますが、ファイル形式に対応したコーデックパックをインストールすることで、できるようになります。コーデックパックは、ネット上で検索すれば無料のものが、すぐに見つかると思いますが、他の動画ソフトなどに影響を与えるものもあるようなので、ここでは特に指定しません。ご自身のシステムにあったものをご利用ください。
ODEプラグイン¶
オープンソースーの動力学計算ライブラリである"Open Dynamics Engine (ODE)"を、コレオノイドのシミュレーション機能の計算エンジンとして利用できるよにするプラグインです。
本プラグインをビルドして利用するためには、ODEライブラリのインストールが必要です。ビルド済みのライブラリは公開されていないようなので、ソースからビルドする必要があります。 Open Dynamics Engine のサイトからファイルをダウンロードして展開してください。現在当方でテストを行ったバージョンは0.12になります。(0.13では動作しない不具合が報告されています。)
ODEのビルドにはpremakeというコマンドを使用します。コマンドプロンプトを起動し、展開したディレクトリの下のbuildというディレクトリに移動します。 そこで32ビットの場合は、
premake4.exe --with-libccd vs2008
64ビットの場合は、
premake4.exe --with-libccd --platform=x64 vs2008
として実行します。すると、vs2008というディレクトリが作成され、中にode.slnが作成されます。(ode0.12ではvs2008までしかサポートされていないので、2008用のソリューションファイルを作成します。) このファイルをVS2015で開くと、変換ウィザードが起動し2015用に変換してくれます。いくつかワーニングが表示されますが、無視しても大丈夫なようです。
変換されたソリューションファイルを用いて、ビルドします。ソリューション構成で ReleaseDoubleDLL を選択し、 x64 , Win32 の選択も確認してください。成功するとlib/ReleaseDoubleDLLにode_double.*というファイルが作成されます。
後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_ODE_PLUGIN という項目を "ON" にし、 ODE_DIR にODEのlibの上のディレクトリを指定してください。
Bulletプラグイン¶
オープンソースの動力学計算ライブラリである"Bullet Physics ライブラリ"を、コレオノイドのシミュレーション機能の計算エンジンとして利用できるようにするプラグインです。
本プラグインをビルドして利用するためには、Bullet Physics ライブラリのソースからのビルドが必要です。 Bullet Physics Library のサイトからソースが取得できます。当方でテストを行ったバージョンはbullet-2.83.7になります。
CMakeが使用できますので、いままでの説明と同様に行います。 以下のオプションはONに切り替えておきます。
- BUILD_EXTRAS
- INSTALL_EXTRA_LIBS
- INSTALL_LIBS
- USE_DOUBLE_PRECISION
- USE_MSVC_RUNTIME_LIBRARY_DLL
また、以下のオプションはOFFにしておいた方が無難です。
- BUILD_XXX_DEMOS のすべて
- BUILD_BULLET3
- BUILD_UNIT_TESTS
インストール先は CMAKE_INSTALL_PREFIX で設定します。
注釈
Extras\HACD\hacdICHull.cppで"error C2039: 'max' : 'std' のメンバーではありません。"というエラーが表示されたら、このファイルの先頭部分を以下のように修正してください
#include "hacdICHull.h"
#include <limits>
#include <algorithm> <--この行を追加
注釈
BulletのバージョンによってCMakeのオプションに差異があるようです。ここでの解説は、対象バージョンでの例とお考えください。
後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_BULLET_PLUGIN という項目を "ON" にし、BULLET_DIR にBulletライブラリのインストール先を指定してください。
Pythonプラグイン¶
Pythonスクリプトの読み込み・実行や、コレオノイド上で動作するPythonコンソール等の機能を使用するためのプラグインです。
本プラグインをビルドして利用するためには、Pythonのインストールが必要です。当方でテストを行ったバージョンは2.7.10です。 OpenRTMプラグインのところで、Pythonをインストールしている場合は次に進んでください。 Python のサイトからPythonの2.7のダウンロードページに移動して、Windows用のMSI Installerをダウンロードして実行してください。インストーラの指示に従って進め、途中、 "Customize Python 2.7" のところで、 Add python.exe to Path を Will be installed on local hard drive に変更してインストールします。
注釈
上記の設定では環境変数の設定を行いますが、これがインストール直後には反映されない場合があるようです(特に、Windows10で)。この場合以下の作業が進められなくなりますので、インストール後にWindowsの再起動を行なってから以下の作業を進めるようにしてください。
Pythonのインストールができたら、 Numpy もインストールします。ここ からダウンロードできます。 numpy-1.11.0-cp27-none-win_amd64.whl、またはnumpy-1.11.0-cp27-none-win32.whl をダウンロードします。コマンドプロンプトを起動し、ダウンロードしたファイルが保存されているディレクトリに移動し、次のようにしてインストールします。
pip install ダウンロードしたファイル名
後はコレオノイドのビルドに関するCMakeの設定で、 ENABLE_PYTHON , BUILD_PYTHON_PLUGIN , BUILD_PYTHON_SIM_SCRIPT_PLUGIN という項目を "ON"にしてください。
注釈
Pythonスクリプト機能は現在のところ64ビット版のみ対応しています。
注釈
Visual C++ 2015 については、アップデートのバージョンによってはPythonスクリプト機能をビルドできない不具合が確認されています。具体的には、Visual Studio Express 2015 for Windows Desktop のバージョン 14.0.25123.00 Update 2 (Visual C++ 2015 00325-20000-00000-AA770) に関してはビルド出来ていたのですが、これより新しいバージョンだと思われる 14.0.25421.03 Update 3 (Visual C++ 2015 00325-20000-00000-AA035) ではビルドできない(Python関連のモジュールで不可解なリンクエラーになってしまう)症状が確認されています。
プラグインのアンインストール¶
BUILD_XXX_PLUGIN のオプションをオンにしてインストールしたプラグインは、その後オプションをオフにしてインストールしても削除されません。プラグインを追加して動作が不安定になった場合など、プラグインを削除したい場合は、手動でファイルを削除してください。プラグインは(コレオノイドのインストール先)/lib/choreonoid-1.5にCnoid***Plugin.dllとしてインストールされています。