私はBusinessエディションで試しましたが、Ultimateエディションでも問題なくインストールができたというコメントを頂きました。けんいちさん、どうもありがとうござました。
Windows Vista Businessを搭載したノートパソコンPanasonic Let’s Note CF-Y7をやっと手に入れたので、さっそくMinGW+Msysを入れてみました。ここ3年間同じくPanasonic Let’s Note CF-Y2を使っていました。Y2と比較するとより頑丈になり100kgまでの加重に耐えることができます。タラバガニのようなエグゾスケルトン(外骨格)になり強そうです。でも、重量は約1.5kgなので携帯性に優れており、今後数年間はお世話になることでしょう。重さでいえば、Vistaの方がよっぽど重いです…
さて、ODE (Open Dynamics Engine)をWindows Vistaへインストールする方法について説明します。ここではWindows Vista Business環境で、インストールがもっとも簡単なMinGW+Msysを使います。
MinGWはCygwinの ようにLinuxとの互換性は高くありませんが、150MBもディスクに空きがあればインストール可能ですし、バイナリを実行するときに特別なライブラリ が必要なくGPLで配布する必要もない(注1)ので重宝します。そのうえ、gcc、make、gdbなどのLinuxで標準的な開発ツールを使うことがで きます。
注1:Cygwinで作成したバイナリはcygwin1.dllを使うので、これも同時に配布しなければならない。これはGPLなので自分の作成したプロ グラムもGPLで配布しなければいけないのです。
では、以下について図とリンク付きで詳しく説明していきます。ここで紹介するMinGWのバージョンは5.1.3、MSYSは1.0.10です。これ以外のバージョンでは試していないので動作するかどうかわかりません。
更新ログ
- 2008-4-18: リンク切れの箇所を復旧
- 2007-12-13: ODE0.9に対応
0. ユーザーアカウント名のチェックこれからインストールするMinGW+MSYS 環境ではユーザーアカウント名が日本語の場合、フォルダの一部が文字化けし作業がうまくいきません。「コントロールパネル」→「ユーザアカウント」でアカウントが英語になっているか確認してください。日本語の場合は「ユーザアカウントの追加または削除」で英語のアカウントを作成してください。その際、スペースなどはいれないでください。なお、「アカウント名の変更」でアカウント名を変更してもフォルダー名は変わらないのでだめです。必ず、新規の英語(苗字または氏名のローマ字が良いでしょう)のアカウントを作成してください。
注意:Windowsのユーザーアカウント名に日本語または全角の英数字を使われている方は,msysではユーザ名が文字化けして使えません.半角英字のユーザーアカウントを新たに作成し,それにログインしてからmingwとmsysをダウンロード,インストールしてください.
1. MinGWのインストール
- ここをクリックしてMinGW-5.1.3.exeをデスクトップにダウンロードします.
- デスクトップにあるMinGW-5.1.3.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と同様にここをクリックして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のインストール
A. 準 備
Windows XPでは必要なかったのですが、Vistaはいろいろ融通が利かないので以下の設定をお願いします。
c:\msys\1.0\etc\profileを エディタで開き19行目と21行目に赤字で書いているように
19行目 export PATH=”.:/usr/local/bin:/mingw/bin:/bin:/mingw/libexec/gcc/mingw32/3.4.2:$PATH”
21行目 export PATH=”.:/usr/local/bin:/bin:/mingw/bin:/mingw/libexec/gcc/mingw32/3.4.2:$PATH”
と加え上書き保存する。
この際、上のフォルダがあるか必ず確認してください。講義で多くの学生にインストールしたところ一番最後が3.4.2ではなく、3.4.5になっている場合がありました。その場合は3.4.2をその番号に置き換えてください。
B. ダウンロード
ここをクリックしてode-src-0.9.zipをダウンロードしてください.ご近所のミラーサイトが自動的に選択されダウンロードが始まります.私の場合は、本当にご近所(KITから車で30分程度)のJAISTサイトが選ばれました。
ただし,Internet Explorerをお使いの方は,下図のようにブラウザの上の部分に「セキュリティ保護のため,このサイトによる,このコンピュータへのファイルのダウンロードがInternet Explorerによりブロックされました.オプションを表示するにはここをクリックしてください.」と表示されますので,下図の赤枠の部分をクリックし,「ファイルのダウンロード(D)」を選ぶとダウンロードが開始されます.
ダウンロード先はc:¥msys¥1.0¥home¥ユーザ名¥srcの下にしてください.srcフォルダーがない場合はエクスプローラーでc:¥ msys¥1.0¥home¥ユーザ名へ移動し,右マウスボタンをクリックし,[新規作成(W)→フォルダ(F)]を選びsrcフォルダーを作成してください.これで, ダウンロードが終わったのでB.インストールへ進んでください.
C. インストール
ode-src-0.9.zipはzipで圧縮されていますのでzipを解凍できるソフトウェアをインストールしてください.ここでは,Lhaplusという圧縮・解凍ソフトを使っています.GoogleでLhaplusを検索するとダウンロード先を簡単に見つけることができます.
これからの作業はUNIXのコマンドを使いますが,知らないあなたも例のとおり入力してください。
1. ターミナルの起動
MSYSアイコンをダブルクリックしてMINGW32ターミナルを開きます。以下のコマンドはこのターミナルで実行してください。
2. srcフォルダーへ移動
$ cd src リターンキー($はプロンプトなので打ち込まない)
3. ode-0.9ディレクトリへ移動
$ cd ode-0.9 リターンキー
4. コンパイルの準備
$ ./configure –enable-double-precision リターンキー(/の前のピリオドを忘れないで.また,enableの前は-(マイナス)が2個必要です.)
5. コンパイル
$ make リターンキー
makeに成功すると以下のように表示されます。
6. インストール
$ make install リターンキー
Vistaの場合は、make installをすると以下のように怒られインストールできません。
/bin/sh: /bin/install: Permission denied
Vistaはセキュリティが厳しくなっているのが原因だそうです。解決する方法もあるようですが、いろいろなファイルをダウンロードするのは手間がかかるので、ここでは手動でインストールすることにします。
スタート→コンピュータ →ローカルディスク(C)をたどっていき、以下のウインドウを開いてください。
c:\msys\1.0\home\ユーザ名\src\ode-0.9\ode\srcフォルダーにlibode.aとlibode.dllがあるので、
これをc:\msys\1.0\local\libの中にコピーする。libというフォルダーがない場合は、あらかじめ作成してください。
コピー後が下図です。
同様にして以下の c:\msys\1.0\home\ユーザ名\src\ode-0.8\includeフォルダーを開きます。
drawstuffとodeフォルダーをコピーし、c:\msys\1.0\local\includeの中にコピーします。
includeというディレクトリがないのであらかじめ作成しておいてください。
コピー後が下図です。
これで手動インストールが終わりです。
7. テスト
msysのターミナルから以下のコマンドを実行してください。
$ cd ~/src/ode-0.9/ode/demoリターンキー
$ demo_crash リターンキー
実行形式ファイルはdemo_crash.exeです.このファイルのあるフォルダーをエクスプローラーなどで開き,ダブルクリックしても起動します.MSYSのパスは/home/ユーザ名/src/ode-0.9/ode/demo/demo_crash.exeですが,Windowsから見るとC:¥msys¥1.0¥home¥ユーザ名¥src¥ode-0.9¥ode¥demo¥demo_crash.exeとなっています.
上のコマンドが成功するとSimulation test environment v0.02のウインドウが開き以下の画面が表示されたら成功です。ごくろうさま!遊び方はDrawStuff Messageに表示されていますのでそれに従って遊んでください。
砲弾で破壊されるブロック
おしまい。
コメント
遊亀さん,
一件落着してなによりです.
このようなミスは自分では気がつきづらいものです.遊亀さんのエラー事例は多くの方に参考になると思います.
多くのエラー事例を集めることもこのブログの存在価値の一つとなります.
今後とも,よろしくお願いします.
でむ
ご指摘通り間違えていました。お恥ずかしい限りです。
なぜそう打ったのかは自分でもわかりません。
最初から全部インストールしたところできるようになりました。
また頑張ります!
遊亀さん,
ひとつ気になるところがあります.
> controllab@KANOMATA ~/src/ode-9.0
とあります.ODEは現在,リリース版は0.9なのですが解凍するとode-9.0というディレクトリができたのでしょうか? まだ,1.0にもなっていないので9.0とはずいぶん未来のバージョンですね.
でむ
早い返信ありがとうございます。ご指摘通りすべてインストールしなおした結果問題の個所はクリアできました。ところが、その次の「make」でエラーが出てしまいました。
ご教授お願い致します。
controllab@KANOMATA ~/src/ode-9.0
$ make
Making all in include
make[1]: Entering directory `/home/controllab/src/ode-9.0/include’
Making all in ode
make[2]: Entering directory `/home/controllab/src/ode-9.0/include/ode’
make all-am
make[3]: Entering directory `/home/controllab/src/ode-9.0/include/ode’
make[3]: Nothing to be done for `all-am’.
make[3]: Leaving directory `/home/controllab/src/ode-9.0/include/ode’
make[2]: Leaving directory `/home/controllab/src/ode-9.0/include/ode’
make[2]: Entering directory `/home/controllab/src/ode-9.0/include’
make[2]: Nothing to be done for `all-am’.
make[2]: Leaving directory `/home/controllab/src/ode-9.0/include’
make[1]: Leaving directory `/home/controllab/src/ode-9.0/include’
Making all in drawstuff
make[1]: Entering directory `/home/controllab/src/ode-9.0/drawstuff’
Making all in src
make[2]: Entering directory `/home/controllab/src/ode-9.0/drawstuff/src’
source=’drawstuff.cpp’ object=’libdrawstuff_a-drawstuff.o’ libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../../depcomp \
g++ -DHAVE_CONFIG_H -I. -I../../include/ode -g -I../../include -I../../include -g -c -o libdrawstuff_a-drawstuff.o `test -f ‘drawstuff.cpp’ || echo ‘./’`drawstuff.cpp
../../depcomp: exec: g++: not found
make[2]: *** [libdrawstuff_a-drawstuff.o] Error 127
make[2]: Leaving directory `/home/controllab/src/ode-9.0/drawstuff/src’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/controllab/src/ode-9.0/drawstuff’
make: *** [all-recursive] Error 1
優亀さん,
はじめして.
1.Cのコンパイラがないと怒られていますね.簡単なCやC++言語のプログラムをコンパイルできるか調べてください.できない場合は,MinGWをアンインストールして,もう一度注意深くインストールし直してください.
2.それでもうまくいかない場合はMSYSを注意深くインストールし直してください.
3.以下のコマンドは,enableの前に-(半角マイナス)が2個必要です.念のため.
./configure –enable-double-precision
でむ
はじめまして。
このページを参考にODEを勉強させていただいている遊亀と申します。PCをXPからvistaに変えたので改めてインストールしましたところ、ODEのインストール中に以下のミスが起こりました。
PATHは /mingw/libexec/gcc/mingw32/3.4.2: /mingw/libexec/gcc/mingw32/3.4.2: をしっかりと設定したつもりです。
何がいけないのか見当がつきません。ご教授宜しくお願い致します。
msysのメッセージとconfig.logは以下の通りです。
controllab@KANOMATA ~
$ cd src
controllab@KANOMATA ~/src
$ cd ode-9.0
controllab@KANOMATA ~/src/ode-9.0
$ ./configure -enable-double-precision
checking build system type… i686-pc-mingw32
checking host system type… i686-pc-mingw32
checking target system type… i686-pc-mingw32
checking for a BSD-compatible install… /bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking for style of include used by make… GNU
checking for gcc… no
checking for cc… no
checking for cl.exe… no
configure: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.
「config.log」の内容
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by ODE configure 0.9.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ ./configure -enable-double-precision
## ——— ##
## Platform. ##
## ——— ##
hostname = kanomata
uname -m = i686
uname -r = 1.0.10(0.46/3/2)
uname -s = MINGW32_NT-6.0
uname -v = 2004-03-15 07:17
/usr/bin/uname -p = unknown
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: .
PATH: /usr/local/bin
PATH: /mingw/bin
PATH: /bin
PATH: /mingw/libexec/gcc/mingw32/3.4.2
PATH: /c/Windows/system32
PATH: /c/Windows
PATH: /c/Windows/system32/wbem
PATH: /c/program files/microsoft sql server/90/tools/binn/
PATH: /c/Program Files/MATLAB71/bin/win32
PATH: /c/Program Files/QuickTime/QTSystem/
PATH: /c/Program Files/Samsung/Samsung PC Studio 3/
PATH: /c/tex/bin
PATH: .
## ———– ##
## Core tests. ##
## ———– ##
configure:1862: checking build system type
configure:1880: result: i686-pc-mingw32
configure:1902: checking host system type
configure:1917: result: i686-pc-mingw32
configure:1939: checking target system type
configure:1954: result: i686-pc-mingw32
configure:1998: checking for a BSD-compatible install
configure:2054: result: /bin/install -c
configure:2065: checking whether build environment is sane
configure:2108: result: yes
configure:2136: checking for a thread-safe mkdir -p
configure:2175: result: /bin/mkdir -p
configure:2188: checking for gawk
configure:2204: found /bin/gawk
configure:2215: result: gawk
configure:2226: checking whether make sets $(MAKE)
configure:2247: result: yes
configure:2451: checking for style of include used by make
configure:2479: result: GNU
configure:2549: checking for gcc
configure:2579: result: no
configure:2646: checking for cc
configure:2693: result: no
configure:2749: checking for cl.exe
configure:2779: result: no
configure:2808: error: no acceptable C compiler found in $PATH
See `config.log’ for more details.
## —————- ##
## Cache variables. ##
## —————- ##
ac_cv_build=i686-pc-mingw32
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_XMKMF_set=
ac_cv_env_XMKMF_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=i686-pc-mingw32
ac_cv_path_install=’/bin/install -c’
ac_cv_path_mkdir=/bin/mkdir
ac_cv_prog_AWK=gawk
ac_cv_prog_make_make_set=yes
ac_cv_target=i686-pc-mingw32
## —————– ##
## Output variables. ##
## —————– ##
ACLOCAL=’${SHELL} /home/controllab/src/ode-9.0/missing –run aclocal-1.10′
ALLOCA=”
AMDEPBACKSLASH=’\’
AMDEP_FALSE=’#’
AMDEP_TRUE=”
AMTAR=’${SHELL} /home/controllab/src/ode-9.0/missing –run tar’
ARCHFLAGS=”
AUTOCONF=’${SHELL} /home/controllab/src/ode-9.0/missing –run autoconf’
AUTOHEADER=’${SHELL} /home/controllab/src/ode-9.0/missing –run autoheader’
AUTOMAKE=’${SHELL} /home/controllab/src/ode-9.0/missing –run automake-1.10′
AWK=’gawk’
CC=”
CCDEPMODE=”
CFLAGS=”
CPP=”
CPPFLAGS=”
CXX=”
CXXDEPMODE=”
CXXFLAGS=”
CYGPATH_W=’echo’
DEFS=”
DEPDIR=’.deps’
DRAWSTUFF=”
ECHO_C=”
ECHO_N=’-n’
ECHO_T=”
EGREP=”
ENABLE_DEMOS_FALSE=”
ENABLE_DEMOS_TRUE=”
EXEEXT=”
GIMPACT_FALSE=”
GIMPACT_TRUE=”
GL_LIBS=”
GREP=”
INSTALL_DATA=’${INSTALL} -m 644′
INSTALL_PROGRAM=’${INSTALL}’
INSTALL_SCRIPT=’${INSTALL}’
INSTALL_STRIP_PROGRAM=’$(install_sh) -c -s’
LDFLAGS=”
LIBOBJS=”
LIBS=”
LTLIBOBJS=”
MAKEINFO=’${SHELL} /home/controllab/src/ode-9.0/missing –run makeinfo’
OBJEXT=”
ODE_AGE=’0′
ODE_CURRENT=’0′
ODE_RELEASE=’0.9.0′
ODE_REVISION=’9′
ODE_SONAME=”
OPCODE_FALSE=”
OPCODE_TRUE=”
OSX_FALSE=”
OSX_TRUE=”
PACKAGE=’ODE’
PACKAGE_BUGREPORT=’ode@ode.org’
PACKAGE_NAME=’ODE’
PACKAGE_STRING=’ODE 0.9.0′
PACKAGE_TARNAME=’ode’
PACKAGE_VERSION=’0.9.0′
PATH_SEPARATOR=’:’
RANLIB=”
SET_MAKE=”
SHARED_LDFLAGS=”
SHELL=’/bin/sh’
STRIP=”
TOPDIR=”
TRIMESH_FALSE=”
TRIMESH_TRUE=”
USE_SONAME_FALSE=”
USE_SONAME_TRUE=”
VERSION=’0.9.0′
WIN32_FALSE=”
WIN32_TRUE=”
WINDRES=”
X11_FALSE=”
X11_TRUE=”
X86_64_SYSTEM_FALSE=”
X86_64_SYSTEM_TRUE=”
XMKMF=”
X_CFLAGS=”
X_EXTRA_LIBS=”
X_LIBS=”
X_PRE_LIBS=”
ac_ct_CC=”
ac_ct_CXX=”
ac_ct_WINDRES=”
am__fastdepCC_FALSE=”
am__fastdepCC_TRUE=”
am__fastdepCXX_FALSE=”
am__fastdepCXX_TRUE=”
am__include=’include’
am__isrc=”
am__leading_dot=’.’
am__quote=”
am__tar=’${AMTAR} chof – “$$tardir”‘
am__untar=’${AMTAR} xf -‘
bindir=’${exec_prefix}/bin’
build=’i686-pc-mingw32′
build_alias=”
build_cpu=’i686′
build_os=’mingw32′
build_vendor=’pc’
datadir=’${datarootdir}’
datarootdir=’${prefix}/share’
docdir=’${datarootdir}/doc/${PACKAGE_TARNAME}’
dvidir=’${docdir}’
exec_prefix=’NONE’
host=’i686-pc-mingw32′
host_alias=”
host_cpu=’i686′
host_os=’mingw32′
host_vendor=’pc’
htmldir=’${docdir}’
includedir=’${prefix}/include’
infodir=’${datarootdir}/info’
install_sh=’$(SHELL) /home/controllab/src/ode-9.0/install-sh’
libdir=’${exec_prefix}/lib’
libexecdir=’${exec_prefix}/libexec’
localedir=’${datarootdir}/locale’
localstatedir=’${prefix}/var’
mandir=’${datarootdir}/man’
mkdir_p=’/bin/mkdir -p’
oldincludedir=’/usr/include’
pdfdir=’${docdir}’
prefix=’NONE’
program_transform_name=’s,x,x,’
psdir=’${docdir}’
sbindir=’${exec_prefix}/sbin’
sharedstatedir=’${prefix}/com’
so_ext=”
sysconfdir=’${prefix}/etc’
target=’i686-pc-mingw32′
target_alias=”
target_cpu=’i686′
target_os=’mingw32′
target_vendor=’pc’
## ———– ##
## confdefs.h. ##
## ———– ##
#define PACKAGE_NAME “ODE”
#define PACKAGE_TARNAME “ode”
#define PACKAGE_VERSION “0.9.0”
#define PACKAGE_STRING “ODE 0.9.0”
#define PACKAGE_BUGREPORT “ode@ode.org”
#define PACKAGE “ODE”
#define VERSION “0.9.0”
configure: exit 1
けんいちさん、
ご報告ありがとうございました。ODE本でわかりづらい箇所があれば遠慮なく聞いてください。
Windows Vista Home Premiumでも問題なくインストール完了しました。
これから「簡単実践ロボットシミュレーション」を読んでがんばります!
山形さん、
コメントありがとうございます。最近cygwinを使っていませんが、cygwinでは難しいのですね。
Ultimateエディションで問題無くインストールできました。
関係無いとは思いますが、1箇所、「make install」の部分を、
http://www.tamagawa.ac.jp/gakubu/kougaku/media/cyber/notebook2007/cygwin/cygwin_trouble.html
の設定をしてあるcygwin上から実行しました。(USER IDがAdministartorなら成功するかと考えて)
結局エラーが発生したので、msys上から「make install」以降の操作を実行しました。