ODE講座2:インストール(フリーのWindows開発環境:MinGW)

ODE付属テストプログラムtest_crash.exe

ゲーム開発やロボットの研究者にも使われているオープンソースの物理計算エンジンODE(Open Dynamics  Engine、オープン ダイナミクスエンジン)を学ぶODE講座の2回目です。

今回はODE (Open Dynamics Engine)の最新バージョン0.8のインストールについて説明します。ODEはマルチプラットフォームなのでWindows、Linux、Mac OS Xでも利用可能です。

今回はWindows環境でしかもインストールがもっとも簡単なMinGW環境を使った方法を説明します。ODEの最新バージョン0.8はWindowsのフリーの開発環境Cygwinではテストプログラムをコンパイルできません。

MinGWはCygwinの ようにLinuxとの互換性は高くありませんが、150MBもディスクに空きがあればインストール可能ですし、バイナリを実行するときに特別なライブラリ が必要なくGPLで配布する必要もない(注1)ので重宝します。そのうえ、gcc、make、gdbなどのLinuxで標準的な開発ツールを使うことができます。

注1:Cygwinで作成したバイナリはcygwin1.dllを使うので、これも同時に配布しなければならない。これはGPLなので自分の作成したプロ グラムもGPLで配布しなければいけないのです。

では、以下について図とリンク付きで詳しく説明していきます。

  1. MinGWのインストール(開発環境)
  2. MSYSのインストール(MinGWを利用するためのシステム)
  3. ODEのインストール

0.  ユーザーアカウント名のチェック

これからインストールするMinGW+MSYS 環境ではユーザーアカウント名が日本語の場合、フォルダの一部が文字化けし作業がうまくいきません。

「コントロールパネル」→「ユーザアカウント」でアカウントが英語になっているか確認してください。日本語の場合は「新しいアカウントを作成する」で英語のアカウントを作成してください。その際、スペースなどはいれないでください。なお、「アカウントを変更する」でアカウント名を変更してもフォルダー名は変わらないのでだめです。必ず、新規の英語(苗字または氏名のローマ字が良いでしょう)のアカウントを作成してください。

1. MinGWのインストール

  • http://prdownloads.sourceforge.net/mingw/からMinGW-5.1.0.exeを ダウンロードします.日本のJAISTサイトからダウンロードするのがよいでしょう。この際、 間違ってJAISTのロゴをクリックするとJAISTのホームページへ飛んでしまいます。一番右のDownloadの文字をクリックして適当なところ(私 のお勧めはc:\temp)にダウンロードしてください。

  • デスクトップにあるMinGW-5.1.0.exeをダブルクリックすると以下のウインドウが現れます。Nextをクリックして次に進む。

  • Download and InstallにチェックをいれNextをクリック

  • LicenseAgreementの画面が出ますのでライセンスに同意するなら I Agreeをクリック。当然ですが、同意しない場合はインストールできません。

  • どのパッケージを選ぶが聞いてきます.Current(現在のバージョン)にチェックをいれNextをクリック.

  • 必要なコンポーネントを選択します.インストールをCustomにし,MinGW base tools,g++ compiler, MinGW Makeにチェックをいれ,Nextをクリック.この3個のコンポーネントを選択しなければコンパイルができないのでチェックが確実に入っているか確認してください。

  • インストールする場所を聞いてきます.このままでよいのでNextをクリック.なお,インストールにはハードディスクに58.5MBの空き領域が必要です.

  • スタートメニューフォルダーの選択を聞いてきます.このままInstallをクリック

  • ダウンロードとインストールが始まり、インストールが終わると次の画面のようにInstallation Completeの表示になります.Nextをクリック

  • Finishをクリックしてインストール作業を終了しましょう.次はMSYSをインストールしましょう。

2. MSYSのインストール

  • MSYSはMinimal Systemの略でMinGWを使いやすくするために必要な最小限のシステムです。MinGWと同様にhttp://prdownloads.sourceforge.net/mingw/からMSYS-1.0.10.exeをダウンロードしてデスクトップに置いてください。MSYS-1.0.10.exeをダブルクリックすると次のウインドウが開きます。「はい」をクリックして次へ進む。

  • Welcome to the “Minimal System” Setup Wizardの画面が開くのでNextをクリック。

  • License agreementを読んでOKならYesをクリック。

  • Informationを読んだらNextをクリック。

  • Setupの画面になります.インストール先を変更せずにNextをクリック.インストールには少なくとも6MBの空き領域が必要です.

  • Select componentsの画面になるので何もせずにNextをクリック。

  • Select Start Menu Barの画面になります。なにもせずにNextをクリック。

  • Ready to Installの画面になり、これからハードディスにインストールします。Installをクリック。

  • 以下の画面のようにインストールが100%になると,その下の図のようなコマンドプロンプトウインドウが開きます.

  • 以下のように答えてください.

    Do you wish to continue with the post intsll?[Yn] yキーを押す
    Do you have MinGW installed [Yn] yキーを押す
    Please answer the following in the form of c:/foo/bar
    Where is your MinGW installation?C:/mingwとタイプしてEnterキーを押す。ここで間違ってC:¥mingwとタイプしてインストールに失敗するケースが良くあります。C:の後は¥ではなくスラッシュ/なので注意しましょう。

  • これでインストールが終わりです。Finishをクリックしましょう。

  • インストールが正常に終わると。デスクトップ上にMSYSのアイコンが追加されます。それをダブルクリックすると以下のMINGW32ターミナルが開きます。 これでMSYSのインストール作業は終わりです

3. ODE0.9のインストール

ダウンロード

  • ここをクリックしてsourceforge.netのOpen Dynamics Engineのページ飛ぶと以下の画面になります。中ほどの赤丸で囲んだDownload Open Dynamics Engineのバナーをクリックします。

すると次の画面になるので、下の方にある赤丸で囲んでいるode-src-0.9.zipをクリックするとダウンロードが始まります。

  • ダウンロード先はc:\msys\1.0\home\ユーザ名\srcの下にしてください.srcフォルダーがない場合はエクスプローラーでc:\ msys\1.0\home\ユーザ名へ移動し,右マウスボタンをクリックし,[新規作成(W)→フォルダ(F)]を選びsrcフォルダーを作成してください.

インストール

  • ode-src-0.9.zipはzipで圧縮されていますのでzipを解凍できるソフトウェアをインストールしてください.ここでは,Lhaplusという圧縮・解凍ソフトを使っています.GoogleでLhaplusを検索するとダウンロード先を簡単に見つけることができます.


  • これからの作業はUNIXのコマンドを使いますが,知らないあなたも例のとおり入力してください。

アイコンをダブルクリックしてMINGW32ターミナルを開きます。以下のコマンドはこのターミナルで実行してください。

2  srcフォルダーへ移動
$cd□src リターンキー($はプロンプトなので打ち込まない,□はスペースです)

3. ode-0.9 ディレクトリへ移動
$cd□ode-0.9 リターンキー

4.  コンパイルの準備
$
./configure□–enable-double-precision  リターンキー(/の前のピリオドを忘れないで)

5. コンパイル
$make リターンキー

makeに成功すると以下のように表示されます。

6. インストール
$make□install リターンキー

テスト
$cd□ ode/demo リターンキー
$./demo_crash リターンキー(/の前のピリオドを忘れないで)

ロボコンマガジンではbuggyで遊びましたが、ここではより面白いdemo_crashで遊びます。
上のコマンドが成功するとSimulation test environment v0.02のウインドウが開き以下の画面が表示されたら成功です。ごくろうさま!遊び方はDrawStuff Messageに表示されていますのでそれに従って遊んでください。


砲弾で破壊されるブロック


おしまい。

更新ログ

  • 2007-12-4:  ODE0.9に対応
  • 2007-2-12:  ODE0.8に対応
3 Comments
  1. 遊亀さん、

    はじめまして。コンパイル時にエラーが出ると困りますよね。

    さて、外しているかもしれませんが、ユーザ名はcontrol lab admで、スペースが入っていますか?もし、入っていたらスペースのない半角のアカウントをWindowsで作り、そのアカウントでODEを再インストールして頂けますか? ODEの0.9がリリースされたので、それを試してみてもいいかもしれません。

    でむ

  2. いつも拝見しております。

    じつは上記のやり方で自分のPCでやったときは問題なくできたのですが、
    ノートPCでやるとうまくいきません。

    Control lab Adm@FREUD ~/src/ode-0.8
    $ ./configure –enable-double-precision

       省略
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating include/Makefile
    config.status: creating include/ode/Makefile
    config.status: creating ode/Makefile
    config.status: creating ode/src/Makefile
    config.status: creating drawstuff/Makefile
    config.status: creating drawstuff/src/Makefile
    config.status: creating drawstuff/dstest/Makefile
    config.status: creating ode/test/Makefile
    config.status: creating ode-config
    config.status: creating include/ode/config.h
    config.status: include/ode/config.h is unchanged
    config.status: executing depfiles commands
    Configuration:
    Target system type: i686-pc-mingw32
    Build system type: i686-pc-mingw32
    Host system type: i686-pc-mingw32
    Use double precision: yes
    Use OPCODE: yes
    Use GIMPACT: no
    Use gyroscopic term: yes
    Is this a Pentium: yes
    Is the CPU x86-64: no
    Is this a release build: no
    Is this a debug build: no
    Using SONAME: no
    Headers will be installed in /usr/local/include/ode
    Libraries will be installed in /usr/local/lib

    3. ODE0.8のインストール の $make の時にでてきたメッセージです。

    Control lab Adm@FREUD ~/src/ode-0.8
    $ make

      省略
    Making all in ode
    make[1]: Entering directory `/home/Control lab Adm/src/ode-0.8/ode’
    Making all in src
    make[2]: Entering directory `/home/Control lab Adm/src/ode-0.8/ode/src’
    if g++ -DHAVE_CONFIG_H -I. -I. -I../../include/ode -O2 -fPIC -I../../include I../../include -I/home/Control lab Adm/src/ode-0.8/OPCODE -I/home/Control lab dm/src/ode-0.8/OPCODE/Ice -DdTRIMESH_ENABLED -DdTRIMESH_OPCODE -g -O2 -MT libod_a-array.o -MD -MP -MF “.deps/libode_a-array.Tpo” -c -o libode_a-array.o `test f ‘array.cpp’ || echo ‘./’`array.cpp; \
    then mv -f “.deps/libode_a-array.Tpo” “.deps/libode_a-array.Po”; else rm -f “.dps/libode_a-array.Tpo”; exit 1; fi
    array.cpp:1: warning: -fPIC ignored for target (all code is position independen)
    g++.exe: lab: No such file or directory
    g++.exe: Adm/src/ode-0.8/OPCODE: No such file or directory
    g++.exe: lab: No such file or directory
    g++.exe: Adm/src/ode-0.8/OPCODE/Ice: No such file or directory
    make[2]: *** [libode_a-array.o] Error 1
    make[2]: Leaving directory `/home/Control lab Adm/src/ode-0.8/ode/src’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/Control lab Adm/src/ode-0.8/ode’
    make: *** [all-recursive] Error 1

    何がいけないのでしょうか・・・・

コメントを残す

メールアドレスが公開されることはありません。