本ページでは、ソースパッケージより展開したOpenHRPのソースを makeコマンドを用いてコマンドラインからコンパイルする手順を説明します. makeコマンドによるコンパイルは、Linuxにおいては基本的なコンパイル方法となります。 Windowsに関しては、通常、Visual C++ の統合開発環境上でコンパイルを行います。 これについては、「Windowsにおけるインストール」 をご覧ください。 バージョン3.0.0-RC3まではWindowsに関してもDOS窓からのコマンドラインコンパイルを行っていましたが、 現在ではこの方法はサポートしていません。 ソースパッケージの展開まず、ダウンロードしたソースパッケージ "OpenHRP-xxx.zip"を、 unzipコマンドなどのZIPファイル解凍ツールを使って適当なディレクトリに展開します. (xxxは3.0.0-RC4といったバージョンを示す文字列が入ります。 ダウンロードしたファイルのものと置き換えて読んでください。) 展開先は、Linuxにおいては、ホームディレクトリ以下の適当なディレクトリに展開するのが一般的です. Make.vars についてMakeコマンドによるコンパイルでは、 コンパイルの設定を "Make.vars" というファイルで行います. このファイルは、基本的に DYNAMICS_ENGINE = aist OB_DIR = JDK_DIR = $(HOME)/usr/jdk1.5.0_07 BOOST_INC_DIR = BOOST_LIB_DIR = BOOST_LIB_SFX = -mt TVMET_INC_DIR = $(HOME)/usr/tvmet-1.7.1/include NS_HOST = localhost NS_PORT = 2809といったかたちで、設定項目と設定内容を記述したものになっています。 このファイルはMakefileに取り込んで使うものなので、文法はMakefileと同じです. 例えば、$(環境変数) とすることで、環境変数の値を取り込むこともできます. また、# 以下の文字列はコメントとなります。 設定内容は、主にコンパイルの際に必要なプログラムやライブラリの位置を示したものとなっています。 基本的には、対象とするプログラムやライブラリがOSやコンパイルツールにおいて デフォルトで利用可能な設定となっていれば、 Make.vars で設定する必要はありません。 自前でインストールしたプログラムやライブラリなどがOSやコンパイルツールのパスに取り込まれていない場合に、 Make.vars で設定することになります。 このような設定は configure と呼ばれる自動設定スクリプトで行うことが多いのですが、 OpenHRP3.0系では今のところそのようなスクリプトは用意しておりません。 OpenHRP3.1.0 β版にてCMakeの導入を行ないましたので、今後はバージョン3.1系にて対応していく予定です. Make.vars の作成Make.vars を作成するにあたっては、その雛形として利用できるファイルを用意していますので、 これを利用してください. OpenHRPソースのトップディレクトリに、 OS/ディストリビューションごとに以下の雛形ファイルがあります。
これらのファイルの中から対応するものを、 ソースのトップディレクトリに "Make.vars" としてコピーしてください。 Make.vars の設定内容雛形よりコピーしたMake.varsについて、必要に応じて修正を行います. 以下ではMake.varsの主要な設定項目を説明します。 ただし、ここで紹介していない設定項目もあり、 バージョンアップに伴って設定内容が変わることもあり得ますので、 雛形ファイルに記述されたコメントもあわせて参考にするようにしてください。
(※): 運用時の変更はbin/unix/config.shで行ないます。 パスに関する以下の項目については、システムの実行パス、インクルードパス、ライブラリパスに含まれる ディレクトリ(Linuxにおける /usr, /usr/local 以下などや、自前でパスを設定したディレクトリ) へインストールされている場合は、空白とします。
また、スペースなどの空白文字を含むパスはコマンドラインツールが対応出来ない場合があるので、 インストール先はそのようなパスを避けるようにしてください。 Makeコマンドの実行OpenHRPソースのトップディレクトリで make コマンドを実行し、コンパイルを行います。 コンパイルエラーがでた場合は、エラーメッセージを参考に、 必要なプログラムやライブラリが正しくインストールされているか、 Make.vars の設定は正しいかといったことを確認してみてください。 なお、現在のMakefileは依存関係の指定が一部甘い部分があり、 設定をしなおして再コンパイルする際には、 一度 "make clean" を実行して、Makeを最初からやり直す方がよい場合もあります。 |