Raspberry PiでOpenSim:エラー対応編

rikachann Aabye

2013年09月27日 21:39


予想通りにOpenSim起動後にODEエラーになってしまいました。
このODEエラーに対応したいと思います。
ODEエラーのもとになっているlibode.soを自前でコンパイルする必要がありそうです。
まず、コンパイル環境を構築します。

pi@raspberrypi ~ $ sudo apt-get install aclocal libtool gcc
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package aclocal

あれ、 aclocalというパッケージは無いようです。
とりあえず、 libtoolとgccをインストールします。

pi@raspberrypi ~ $ sudo apt-get install libtool gcc

aclocalはautomakeパッケージの中にはいっているようなので automakeをインストールします

pi@raspberrypi ~ $ sudo apt-get install automake

aclocalのバージョンを確認します

pi@raspberrypi ~ $ aclocal --version
aclocal (GNU automake) 1.11.6
Copyright (C) 2011 Free Software Foundation, Inc.
以下 略

無事インストールできました。

ODEのライブラリーをgitでダウンロードします。
ダウンロードするデレクトリはーは ode_libsとしました。自動的に作成されます。

pi@raspberrypi ~ $ git clone git://opensimulator.org/git/opensim-libs ode_libs

pi@raspberrypi ~ $ cd ode_libs/trunk/unmanaged/OpenDynamicsEngine-r1755

コンパイル環境の構築のため autogen.shを起動
pi@raspberrypi ~/ode_libs/trunk/unmanaged/OpenDynamicsEngine-r1755 $ sh autogen.sh

Please make sure that you use automake 1.10 or later
Warnings about underquoted definitions are harmless
Running aclocal
Running libtoolize
Running autoheader
Running automake
configure.in:54: installing `./compile'
configure.in:45: installing `./config.guess'
configure.in:45: installing `./config.sub'
configure.in:47: installing `./install-sh'
configure.in:47: installing `./missing'
GIMPACT/src/Makefile.am: installing `./depcomp'
Running autoconf
Running bootstrap in ou directory
Running bootstrap in libccd directory
libtoolize: You should add the contents of the following files to `aclocal.m4':
libtoolize: `/usr/share/aclocal/libtool.m4'
libtoolize: `/usr/share/aclocal/ltoptions.m4'
libtoolize: `/usr/share/aclocal/ltversion.m4'
libtoolize: `/usr/share/aclocal/ltsugar.m4'
libtoolize: `/usr/share/aclocal/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Now you are ready to run ./configure

コンフィグを実行

pi@raspberrypi ~/ode_libs/trunk/unmanaged/OpenDynamicsEngine-r1755 $ ./configure --enable-shared --enable-release --disable-demos --without-x --enable-old-trimesh

コンパイル実行
pi@raspberrypi ~/ode_libs/trunk/unmanaged/OpenDynamicsEngine-r1755 $ make

libode.soをopensimディレクトリーにコピー
pi@raspberrypi ~/ode_libs/trunk/unmanaged/OpenDynamicsEngine-r1755 $ cp ./ode/src/.libs/libode.so ~/opensim-0.7.5/bin/lib32/libode.so

Ode.NET.dll.config を編集
その前にバックアップ^^
pi@raspberrypi ~/opensim-0.7.5/bin $ cp Ode.NET.dll.config Ode.NET.dll.config.org

pi@raspberrypi ~/opensim-0.7.5/bin $ vim Ode.NET.dll.config
下記のように編集しました。(<>は全角表示になっています^^;)

<configuration>
<dllmap dll="ode" target="lib32/libode.so" />
</configuration>

早速 再度opensimを起動してみます。

pi@raspberrypi ~/opensim-0.7.5/bin $ mono OpenSim.exe

入力待ちになりました
Estate owner first name [Test]: ユーザーのファーストネーム ここでは rika
Estate owner last name [User]: ユーザーのラストネーム   ここでは kayama
Password:          パスワード 任意に設定
Email:             Enter
User ID [1c3a35f2-2cae-???????????]:  Enter

入力待ちになりました^^
Region (rikachan_island) #

でも よく見ると OpenJpegのところが 赤くなってます^^



一度 opensimを終了します

Region (rikachan_island) # shutdown

ホームへ帰ります
pi@raspberrypi ~/opensim-0.7.5/bin $ cd ~

gitで必要なファイルをダウンロードします
pi@raspberrypi ~ $ git clone git://github.com/openmetaversefoundation/libopenmetaverse.git libopenmetaverse

移動します
pi@raspberrypi ~ $ cd ./libopenmetaverse/openjpeg-dotnet/

Makefileを編集します。

pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ vim Makefile

36行目を編集します
ARCH=-i686 → ARCH=-ARM

37行目を編集します
ARCHFLAGS=-m32  → ARCHFLAGS=



mekeしますが gmakeがありません
pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ gmake
-bash: gmake: command not found

makeのバージョンを確認すると
pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for arm-unknown-linux-gnueabihf

実は gmakeなので そのまま makeしちゃいます
pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ make

opensimディレクトリーにコピーします

pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ cp -p libopenjpeg-dotnet-2-1.5.0-dotnet-1-ARM.so ~/opensim-0.7.5/bin/libopenjpeg.so

opensimディレクトリーに移動します

pi@raspberrypi ~/libopenmetaverse/openjpeg-dotnet $ cd ~/opensim-0.7.5/bin

OpenMetaverse.dll.configを編集します
その前にバックアップします
pi@raspberrypi ~/opensim-0.7.5/bin $ cp OpenMetaverse.dll.config OpenMetaverse.dll.config.org
編集します
pi@raspberrypi ~/opensim-0.7.5/bin $ vim OpenMetaverse.dll.config
下記のように変更(<>は全角表示になっています^^;)

<configuration>
<dllmap dll="openjpeg-dotnet.dll" target="libopenjpeg.so" />
</configuration>

opensimを再起動
pi@raspberrypi ~/opensim-0.7.5/bin $ mono OpenSim.exe

わ〜〜 うまくいきました^^



次回は 母艦から opensimにアクセスしたいと思います^^


raspberry Pi