ビルド手順

From OpenSimulator

Revision as of 02:39, 1 January 2011 by Makopoppo (Talk | contribs)

Jump to: navigation, search

このページでは OpenSim ソースコードを様々なプラットフォームでビルドする方法について説明しています。

Contents

OpenSim のダウンロード

OpenSim のソースリリースを入手する方法は、ダウンロード ページに記載されています。

MS Windows

最終更新日: Feb.15.2010

OpenSim は .Net Framework 3.51 または Mono 2.4.2.3 以上必須です。次のコンパイラをサポートしています:

.Net Framework は右のリンクから入手可能: www.microsoft.com/downloads/details.aspx

新しい URL: http://www.microsoft.com/express/Windows/ ( The Visual Studio® 2010 Express )

※ IDE でコンパイルしたい場合は、 C# express 2008 または Visual Studio 2008 が必要です。

※ Microsoft C# Express v9 でも .Net 3.5 をインストールできますが、ビルド・パスのエラーが出ます。 回避するには、(Windows XP 以上で標準インストールされる).Net Framework 2.0 をインストールしましょう。

※ Windows Vista 64 ビット版でも、次のようなテクニックでビルドすることができます:

  1. ソリューションエクスプローラから OpenSim プロジェクトのプロパティを表示して、プラットフォームに x86 を選択し、リビルドします。
  2. ソリューションエクスプローラの bin フォルダ配下の OpenSim.exe を選択してプロパティを表示し、Windows XP SP2 互換モードを選択して、管理者として実行します。

ビルド

  • ディレクトリの最上層で、'runprebuild.bat' ファイルを実行します。Visual Studio 2008 のソリューションファイル、NAnt ファイル、'compile.bat' ファイルを作成してくれます。
  • 作成された .sln ファイルを Visual Studio で開き、そこでビルドするか、
  • 'compile.bat' ファイルを実行します。MSBuild を使って実行ファイルをビルドしてくれます。
  • NAnt のほうを使いたい場合、NAnt をディレクトリの最上層で実行します。実行ファイルをビルドしてくれます。

実は、実行環境には一部のディレクトリ・ファイルが必要なだけで、その他のファイルはソースコードやビルドプロセスのためにだけ使用されます:

 addon-modules
 bin
 doc
 share
 ThirdParty
 ThirdPartyLicences
 BUILDING.txt
 CONTRIBUTORS.txt
 LICENSE.txt
 README.txt
 TESTING.bat

実行

bin/OpenSim.ini.example ファイルを bin/OpenSim.ini にコピーして、編集します。

最初は OpenSim のスタンドアロン・セットアップを作りたいのだという想定から、 サンプルの OpenSim.ini ファイルには既にスタンドアロン環境構築にふさわしい [Architecture] 設定が記載されています。 そこには、bin/config-include/StandaloneCommon.ini.example へのインクルード参照が含まれています。

同様に、bin/config-include/StandaloneCommon.ini.example ファイルを bin/config-include/StandaloneCommon.ini にコピーして、編集します。 OpenSim の安定稼働のために、キャッシュを設定することをおすすめします。bin/config-include/StandaloneCommon.ini に記述されているキャッシュから選択してください。

bin ディレクトリ配下の OpenSim.exe 実行ファイルをダブルクリックします。OpenSim がスタンドアロンモードで起動します。

Visual Studio 2008 の C# デバッガでコードのステップ実行ができます。Cygwin シェルを使っている場合は、1つ以上の DLL が実行を妨げる権限設定となっている可能性があります。 bin ディレクトリ配下を "chmod 777 *" することでたいていは解決します。

Windows Vista

Windows Vista で動作させる場合は、 Windows ファイアウォールを無効にする必要があると、一部の利用者から報告が上がっています。Vista の「スタート」ボタンで、「コントロール パネル」、 「セキュリティ」、「Windows ファイアウォール」を選択します。「Windows ファイアウォールの有効化または無効化」をクリックします。管理者のパスワードまたは確認を求められ、その後、 「無効 (推奨されません)」を選択します。「OK」を選択して、Windows ファイアウォール設定ウィンドウを閉じます。

マカフィー・インターネットセキュリティがインストールされている場合、次項を参照してください。

全てのセキュリティ設定を無効にした後、OpenSim.exe を右クリックして 「管理者として実行」 を選択します。 管理者のパスワードまたは確認を求められるので、「許可」を選択します。OpenSim サーバは DOS 窓で動作して接続を受け付けるようになります。


マカフィー・インターネットセキュリティ

マカフィー・インターネットセキュリティは特別に指定されない限り、アプリケーションがポートを監視することを許可していません。2つの対策があります。 1) ファイアウォール・プロテクションを全部無効にしてしまう、または、2) OpenSim.exe がポートを開けるようにする、のいずれかです。

ファイアウォールを無効にする

McAfee SecurityCenter を開きます。「インターネットとネットワーク」を選択します。左下に「設定」という小さなリンクが表示されています。これをクリックします。 ウィンドウの右側に、「ファイアウォールによる保護が有効です」と表示された項目があります。ここで「オフ」を選択します。

OpenSim.exe がポートを開けるようにする

McAfee SecurityCenter を開きます。「インターネットとネットワーク」を選択します。左下に「設定」という小さなリンクが表示されています。これをクリックします。 ウィンドウの右側に、「ファイアウォールによる保護が有効です」と表示された項目があります。「詳細設定...」ボタンをクリックします。新しいウィンドウが出てきます。

新しいウィンドウの左側で、「プログラム許可機能」を選択します。ウィンドウの右側の真ん中あたりに、「許可されたプログラムを追加」ボタンがあります。 開いたダイアログで OpenSim の実行ファイルを探して選択します。

最後に、「OK」ボタンを押して McAfee SecurityCenter ウィンドウを閉じます。

Linux/Mac OS X/FreeBSD

Linux 環境で動かすのにいちばん簡単なのは、Ubuntu 10.04 32 ビット版です。これは Linux を使用している開発者のなかでいちばん使用されているディストリビューションです。手っ取り早く動かしたいときは、これでやってみてください。

Linux ディストリビューションの多くが (Ubuntuも含みます) "mono-runtime" パッケージだけがインストールされた状態で出荷されています。 しかし、OpenSimurator の一部の機能、例えば LSL スクリプトコマンドを使用できるようにするには "mono-complete" パッケージもインストールする必要があります。

Ubuntu

古いディストリビューションを使用している Ubuntu ユーザは、Mono を 2.4 以上にアップグレードする必要があります。Mono をアップグレードする必要がある人はみんな、Update Mono on Ubuntu を読んでください。

Ubuntu Karmic (9.10) は mono 2.4.2.3 パッケージを含みます。

Ubuntu Lucid (10.04) は mono 2.4.4 パッケージを含みます。

Ubuntu Maverick (10.10) は mono 2.6.7 パッケージを含みます。

ビルド方法:

sudo apt-get install nant mono-gmcs libmono-microsoft8.0-cil \
     libmono-system-runtime2.0-cil libgdiplus libmono-i18n2.0-cil libmono-oracle2.0-cil

opensim を ダウンロード

cd opensim
./runprebuild.sh
nant

openSUSE 10.3/11/11.1

openSUSE 11.1, 11 または 10.3 を標準でインストールして、オンラインリポジトリを追加します。 インストールが終わったら、オンラインアップデートでパッケージを全て最新にします。

スタンドアロンモードで OpenSim を動作させるのに、yast で以下をインストールします。 (10.3 と 11/11.1 との間で若干差がありますが、以下の手順は同じです)

subversion
nant
mono-jscript
- mono-core がインストールされているか確認します

インストールされていなかったときは、

 sudo zypper install mono-data-oracle

OpenSuSE 11.1 ユーザ向けのヒント - 'zypper' ツールを使ってコマンドラインでパッケージをインストールできます。例えば、'nant' をインストールするには、次のようにします:

 sudo zypper install nant

もし SQLite を単独で使いたい場合は、この記事の最後の項に進んでください。

  • オプション MySQL - グリッドモードで OpenSim を動作させるために:

yast で以下の MySQL パッケージをインストールします。

 mysql
 mysql-client
 mysql-administrator
 mysql-gui-tools
 mysql-query-browser

(Yast2 インストーラで MySQL を選択すると、他のパッケージが自動的に選択されます)

ビルド前に MySQL データベースを作成します。

/etc/init.d/mysql start
mysql -u root -p -h localhost
(パスワードを聞かれたらエンターキーを押してください)
mysql> create database opensim;
mysql> use opensim;
mysql> create user 'opensim'@'localhost' identified by 'thePassword';
mysql> grant all on *.* to 'opensim'@'localhost';
mysql> quit

grant all コマンドは、既にある MySQL 環境に OpenSim 用のデータベースを追加する場合は異なることがあります。

現在のビルドで、OpenSim.ini.example ファイルからコピーした後、bin/OpenSim.ini の中の接続文字列を設定します。 SQLite から MySQL に移行する場合は、MySQL の接続文字列は bin/Region/*.xml ファイルにもあります。

※ 最初からある SQLite データベースを使用して始める場合、これは非常に重要なことです。

上記のインストールが完了後、bash ターミナルでビルドします。/opt に保存した場合、

su -
cd /opt

opensim を ダウンロード

cd opensim
./runprebuild.sh
nant

または、現在のバージョンでは(0.6以上)、単にこれだけ実行すればいいです:

make

以降、mysql-config の項を読んで他のサーバを起動することができるようになるか、OpenSim をスタンドアロンで起動するかできるようになります。

Mac OS X 10.5/10.4

FreeBSD 6.2

su
cd /usr/ports/devel/subversion/ && make install clean (この手順が失敗したら apr-svn もリビルドする必要があります)
cd /usr/ports/lang/mono/ && make install clean
cd /usr/ports/devel/nant/ && make install clean
cd /usr/ports/databases/sqlite3/ && make install clean
cd /usr/ports/x11-toolkits/libgdiplus/ && make install clean
cd /opensim/installation/directory/
opensim を ダウンロード
cd opensim
./runprebuild.sh
nant

※ "System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so" 問題の対応方法は、トラブルシューティングの手順 の通りですが、 "make" ではなく "gmake" を使ってください。

ODE 物理エンジンでは、次の手順を実行します:

cd /usr/ports/graphics/libGL/ && make install clean
cd /usr/ports/graphics/libGLU/ && make install clean
cd /opensim/installation/directory/
svn co http://opensimulator.org/svn/opensim-libs/trunk opensim-libs
cd opensim-libs/unmanaged/OpenDynamicsEngine2/
sh autogen.sh
./configure --enable-shared --enable-release --disable-demos
make
mv ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/

RedHat Enterprise Linux 4

sudo vi /etc/yum.repos.d/mono.repo
 [mono]
 name=Mono for rhel-4-i386 (stable)
 baseurl=http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/
 enabled=1
 gpgcheck=0
sudo yum install mono-complete monodoc-core nant
opensim を ダウンロード
cd opensim
./runprebuild.sh
nant

RedHat Enterprise Linux 5

次の手順は CentOS やおそらく Fedora のような、RedHat Linux の亜種にも適用できます。

1. Mono.repo ファイルを /etc/yum.repo.d/ ディレクトリに置きます:

$ sudo su -
$ cd /etc/yum.repos.d/
$ wget http://download.opensuse.org/repositories/Mono/RHEL_5/Mono.repo

基本的にたいていの場合 ディストリビューションに対する最新の Mono を適用します

2. yum で Mono と関連ツールをインストールします。

$ yum install mono nant mono-jscript mono-nunit

必ず nunit-console2 を使ってテストを実行してください。

Fedora 12 & 13

Fedora 12 や 13 へのインストールは極めて簡単です。Nant と Mono は OpenSim のセットアップと同時にインストールされます。全く初めての場合、 ここに Fedora の初期インストール状態 (パッケージ最小インストール) から OpenSim を立ち上げるまでのステップ・バイ・ステップの完全ガイドがあります。 この手順は GUI インストールでも使えます。

1. yum install wget nano nant libgdiplus mono-devel mono-jscript

2. opensim を ダウンロード (wget http://dist.opensimulator.org/opensim-0.7.0.1-source.tar.gz)

3. tar -xf opensim-0.7.0.1-source.tar.gz

4. mv opensim-0.7.0.1-source opensim

5. cd opensim

6. ./runprebuild.sh

7. nant

8. cd /bin

9. cd /config-include/

10. cp StandaloneCommon.ini.example StandaloneCommon.ini

11. cd ..

12. cp OpenSim.ini.example OpenSim.ini

13. mono OpenSim.exe

Fedora 5

  • OpenSim をビルドするのに、最新の Mono と NAnt をソースからビルドする必要がありました。yum リポジトリにあったものではうまくいかなかったので、アンインストールして、パッケージをビルド・設定するはめになりました。

詳細な手順は ここ

Debian 4

詳細な手順は Debian 4 Build Instructions を参照してください。

Debian 5

1. Debian を普通にインストールします。パッケージ一覧から最後のオプション - 「標準システム」を選択し、他のインストールオプションは、特に必要のない限り、全部チェックを外したままにします。

2. root でログインします。

3. 入力: aptitude update (または apt-get update)

4. 入力: aptitude install nant → 'Do you want to continue' に 'y' と答える - これで NAnt と関連パッケージがインストールされます。

5. 入力: apt-get install git-core → 'Do you want to continue' に 'y' と答える

6. 入力: aptitude install build-essential swig autoconf gawk mono-common binfmt-support bison libglib2.0-dev gettext → 'Do you want to continue' に 'y' と答える

7. 入力: wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.3.tar.bz2 → Mono がインストールされる

8. 入力: tar xf mono-2.4.3.tar.bz2 → Mono ソースコードがディレクトリに展開される (最新ビルドは上書きされる)

9. 入力: cd mono-2.4.3 → 作成されたディレクトリに移動する

10. 入力: ./configure --with-libgdiplus=yes - 終わるまで待つ

11. 入力: make - もうちょっと待つ - 古いマシンだともっとかかる

12. 入力: make install

13. 入力: cd /

14 入力: git clone git://opensimulator.org/git/opensim

15 入力: cd opensim

16. 入力: git checkout -b 0.6.8-post-fixes origin/0.6.8-post-fixes (最新ビルドは上書きされる)

17. 入力: git pull

18. 入力: apt-get -u upgrade → 'Do you want to continue' に 'y' と答える → apt で全てのパッケージが最新化される (別にコンパイルされたため、OpenSim や Mono は更新されない)

19. 全てがきれいに完了したことを確認するために、再起動します。 (入力: shutdown -r now)

20. ログインします。入力: cd /

21. 入力: cd opensim

22. 入力: ./runprebuild.sh

23 入力: nant - 終わるまで待つ

24. 入力: cd bin

25. 入力: cp OpenSim.ini.example OpenSim.ini

26. 入力: mono OpenSim.exe

27. ウィザードプロンプトに答えると、OpenSim がスタンドアロンモードで起動します。

MySQL のサポートタイプを追加するには: apt-get install mysql-server → 'Do you want to continue' に 'y' と答える MySQL ルートユーザのパスワードを聞かれますので、2度入力します。他で説明したように OpenSim.ini を編集して MySQL を使用するように直します。

CentOS 5.2 32bit

詳細は CentOS 5.2 Build Instructions を参照してください。

CentOS 5.3 32bit

詳細なインストール・設定手順は blog を参照してください。

64bit

32 ビットのバイナリだけが Subversion の bin/ ディレクトリで提供されています。64 ビットにしたいときは、共有オブジェクトをリビルドする必要があります。 Installing and running on x86-64 を参照してください。


物理エンジン (Open Dynamics Engine ODE)

SVN からインストールすると、ODE はたいていの 32 ビット環境で動作します。 ODE 絡みの異常終了や、libode.so not found 系のエラーに遭遇したら、ソースから libode をビルドする必要があります。

./bin フォルダから libode.so を削除します。 (後で SVN アップデートを行うと、復活してしまいます。bin にビルドした libode.so をコピーするといいでしょう) ode.net.dll を削除しないでください!最新のソースを以下からダウンロードします:

svn co http://opensimulator.org/svn/opensim-libs/trunk/unmanaged/OpenDynamicsEngine

OpenSim は 2, 3 のまだ公開されていない ODP パッチを必要とします。コンパイルするときは、以下の設定オプションを使うようにしましょう:

--with-trimesh=gimpact 
--enable-shared

configure スクリプトではこれらの選択になっているか確認して、単精度でコンパイルしましょう (これがデフォルトなのでは)。 drawstuff, test*, もしくは openGL 絡みのエラーに遭遇したら、 make -k を試してみましょう。 make install を実行すると、 libode.so が適切な場所に配置され (通常 /usr/local/lib)、 OpenSim (ode.net.dll) から参照されるようになるはずです。

注意: OpenSim が Exception: System.DllNotFoundException: ode というエラーを出す場合、ODE をコンパイルした後に、 通常の場所 (おそらく /usr/local/lib) から libode.so を ./bin/ にコピーします。 出典: this suggestion

64 ビットシステムで ODE を設定する:

SLES10 -SP1 64 ビットで OpenSim を設定する方法

1. Yast2 で次のインストールソースを追加して、Mono 2.01 をインストールします。

   このディストリビューションは YaST を使ってパッケージをインストールすることをサポートしています。
   * http://ftp.novell.com/pub/mono/download-stable/SLE_10 [^]
   YaST を使ってリポジトリ操作をしたりパッケージをインストールしたりする方法は、Yast のヘルプページを参考にしてください。
   "nant" はこの操作の過程でインストールされます。

2. Subversion を http://software.opensuse.org/search [^] からインストールします。

  SLES/SLED10 ->
  subversion-1.5.2-34.2.x86_64.rpm

3. OpenSim の最新の SVN バージョンをいつものように (32 ビット版のように) ダウンロードしてインストールします。

  http://opensimulator.org/wiki/Build_Instructions [^]

4. Open Dynamics Engine (ODE) をダウンロード・インストールして、32 ビット版の ODE を 64 ビット版に置き換えます。

  次の Linux コマンドでやります:
 (全ての Linux ビルドツールがインストールされているという前提で):
  
  # cd
  # svn co http://opensimulator.org/svn/opensim-libs/trunk/unmanaged/OpenDynamicsEngine [^]
  # cd OpenDynamicEngine
  # chmod a+x ou/bootstrap
  # sh autogen.sh
autogen.sh が動作するように、これらの RPM で SLES10 をインストール/更新します。http://software.opensuse.org/search [^]
  SLES/SLED10 ->
  - autoconf-2.61-168.1.x86_64.rpm
  - automake-1.10.1-5.3.x86_64.rpm
  # CFLAGS="-m64" ./configure --enable-shared
  # make
make がずっと失敗し続けるため、yast2 で gtk2-devel と全ての関連パッケージをインストールします。
  # cp ./ode/src/.libs/libode.so /opt/opensim/bin/
注意:
このディレクトリには、いろいろなバージョンの "libode.so" ができてしまいました。以前のコマンドを数回実行したためです。
このため、 libode.so.1.0.0 を /opt/opensim/bin/libode.so へコピーする必要がありました。
  # vi ../opensim/bin/OpenSim.ini (av_capsule_standup_tensor_linux を 1700000 に変更します)

'chmod' コマンドは誤った権限設定を修正するのに必要なものです。 OpenSim.ini への修正は、アバターの足が曲がったり、地面にめりこんだりするのを避けるために必要なものです。

実行

最近のバージョンの OpenSim は OpenSim.ini ファイル抜きでリリースされています。OpenSim.ini.example ファイルを OpenSim.iniにコピーしてから編集します。

cd bin
mono OpenSim.exe

※ Ubuntu 8.0.4 のような 32 ビットサーバで動作させている場合、別のランチャーで起動します:

mono OpenSim.32BitLaunch.exe


  • ODE を呼び出すには、mono OpenSim.exe に次のオプションを追加します:
-physics=OpenDynamicsEngine

または OpenSim.ini の [Startup] セクションに physics = OpenDynamicsEngine を追加します。他の物理エンジンが使用可能であれば、同じように追加します。

Mono 1.2.6 では、ディストリビューションによっては MySQL を使った場合、起動時に次のメッセージが表示されることがあります。

Unhandled Exception: System.NotSupportedException: CodePage 1252 not supported

これは libmono-i18n2.0-cil パッケージをインストールすると解決します。 (http://bugs.mysql.com/bug.php?id=33938 を参照してください)

Personal tools
General
About This Wiki