2008年11月30日

OpenSimサーバ構築記録9(MacOSXコンパイル編)

● 久しぶりに、OpenSimの記事を。。。

MacOSXにOpenSimをコンパイルビルドしたのは随分前なんですけど、
その時のログを最近清書しましたので、アップします。

ここ(ソラマメ)では、コンソールでコマンドを叩くようなMacユーザさんは皆無に近いと思いますけど、
バイナリをダウンロードして実行するだけに物足りなさを感じてる方がおられましたら、
どうぞ参考にしてください。

使用しているOSは、
Mac OS X Leopard 10.5.5 です。




● OpenSimのソースコード入手

OpenSimソースコードの入手方法は、以下のURLに書かれています。
http://opensimulator.org/wiki/Download

ソースコードは、以下のURLにあります。
現時点では0.6.0-releaseが最新のようです。
http://opensimulator.org/svn/opensim/tags/





● ソースコードのダウンロード

「アプリケーション」ー>「ユーティリティ」フォルダにある「ターミナル」を起動します。



ホームディレクトリ直下に「opensim」フォルダを作成し、移動します。
(ターミナル起動直後は、ホームディレクトリにいます。)
Last login: Sat Nov 29 19:19:52 on console
$ mkdir  opensim
$ cd  opensim

svnコマンド(subversion)で、「0.6.0」フォルダ配下にチェックアウト(ダウンロード)します。
「0.6.0」フォルダは自動的に作成されます。
$ svn  co  http://opensimulator.org/svn/opensim/tags/0.6.0-release  0.6.0



(補足)
subversionは、レパード(10.5)以前には含まれていないので、別途インストールする必要があります。
Subversionの入手
http://www.collab.net/downloads/community/
http://www.moongift.jp/2008/06/versions/




● 必要なツールの入手

以下のURLを参考に、必要なツールをインストールします。
ただし、URLの内容は結構古いみたいでした。
http://opensimulator.org/wiki/Build_Instructions


(1) XCode Developers Tools

MacOS XのDVDから、開発環境XCodeをインストールします。



(2) X11

OpenSimのコンパイルには、X-Window(X11)が必要です。
レパード(10.5)では、標準でインストールされています。
(レパード以前の場合は、MacOS XのDVDから、X11をインストールします。)



(3-1) Mono Framework (.NET Framework互換環境)

Mono Frameworkの最新版パッケージを以下のサイトからダウンロードして、インストールします。
http://www.go-mono.com/mono-downloads/download.html




(3-2) 「大切な情報」

「大切な情報」には、インストールされるモジュール一覧やディレクトリが記載されているので、
保存しておくといいです。



(3-3) インストール先

monoは、「ライブラリ」ー>「Frameworks」配下にインストールされます。





● 環境変数の設定

ホームディレクトリ直下に、viエディタで「.profile」ファイルを作成し、環境変数PKG_CONFIG_PATHに
monoインストールディレクトリを追加をします。
「.profile」は、ターミナルを起動したときに読み込まれるファイルで、Windowsでいうところの
autoexec.batみたいなものです。
Last login: Sat Nov 29 20:43:07 on console
$ vi  .profile

この1行を追加
export  PKG_CONFIG_PATH="/Library/Frameworks/Mono.framework/Versions/Current/
lib/pkgconfig/:${PKG_CONFIG_PATH}"
※実際は1行です。




● 環境変数の確認

sourceコマンドで「.profile」ファイルを読み込んで、envコマンドで環境変数を確認します。
$ source  .profile
$ env

MANPATH=/usr/share/man:/usr/local/share/man:/usr/X11/man
TERM_PROGRAM=Apple_Terminal
TERM=xterm-color
SHELL=/bin/bash
TMPDIR=/var/folders/-D/-DI16ePMFTiqr7KoWIX9I++++TI/-Tmp-/
Apple_PubSub_Socket_Render=/tmp/launch-W2p5C3/Render
TERM_PROGRAM_VERSION=240
USER=technocore
COMMAND_MODE=unix2003
SSH_AUTH_SOCK=/tmp/launch-FpatMz/Listeners
__CF_USER_TEXT_ENCODING=0x1F5:1:14
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PWD=/Users/technocore
LANG=ja_JP.UTF-8
SHLVL=1
HOME=/Users/technocore
LOGNAME=technocore

PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/:
DISPLAY=/tmp/launch-EzhGOw/:0
SECURITYSESSIONID=6332d0
_=/usr/bin/env






● OpenSimのコンパイルビルド

「0.6.0」ディレクトリに移動します。
$ cd  opensim/0.6.0/

プレコンパイルスクリプト「runprebuild.sh」があることを確認します。
$ ls  *.sh
runprebuild.sh

Monoに含まれるコンパイルコマンド「nant」があることを確認します。
$ which  nant
/usr/bin/nant

$ nant  -v
NAnt 0.86 (Build 0.86.2898.0; beta1; 2007/12/08)
Copyright (C) 2001-2007 Gerry Shaw
http://nant.sourceforge.net

「runprebuild.sh」を実行します。
$ ./runprebuild.sh
Prebuild v2.0.3
Copyright (c) 2004-2008
.............
.............
Creating Visual C# 2005 solution and project files
...Creating project: Prebuild

正常終了したらメイクファイルが自動的に作成されるので、「nant」コマンドを実行するだけです。
$ nant
.............
.............
BUILD SUCCEEDED
Total time: 61.5 seconds.


「bin」ディレクトリ配下に各種ロードモジュール(exeファイル)が作成されたことを確認します。
$ cd   bin
$ ls  -1  *.exe
OpenSim.32BitLaunch.exe
OpenSim.Grid.AssetServer.exe
OpenSim.Grid.GridServer.exe
OpenSim.Grid.InventoryServer.exe
OpenSim.Grid.MessagingServer.exe
OpenSim.Grid.UserServer.exe
OpenSim.TestSuite.exe
OpenSim.exe
OpenSimExport.exe
Prebuild.exe
pCampBot.exe





● OpenSimの初回起動

monoコマンド経由で、OpenSim.exeを起動します。
初回起動時に訪ねてくる質問項目は、Returnキーで省略していいです。
$ mono  OpenSim.exe

02:02:00 - [LOADREGIONS]: Loading Region Info from filesystem
02:02:00 - [CONFIG]: Calling Configuration Load Function...
.............
.............
DEFAULT REGION CONFIG: Region Name [OpenSim Test]:
Parvathi
DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]:
省略
DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]:
省略
DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]:
省略
DEFAULT REGION CONFIG: Internal IP Port for incoming UDP client connections [9000]:
省略
DEFAULT REGION CONFIG: External Host Name [127.0.0.1]:
省略
DEFAULT REGION CONFIG: First Name of Master Avatar [Test]:
Master
DEFAULT REGION CONFIG: Last Name of Master Avatar [User]:
Parvathi
DEFAULT REGION CONFIG: (Sandbox Mode Only)Password for Master Avatar account [test]:
********
02:03:48 - [CONFIG]: Calling Configuration Load Function...
.............
.............
02:10:20 - [!]:STARTUP COMPLETE
Currently selected region is root
02:10:20 - [STARTUP]: Startup took 0m 29s
Region (root) # :

プロンプトが表示されたら、起動成功です。
入力した項目は、Regions/default.xmlファイルに記録されます。

ヘルプの一覧を表示するには
Region (root) # :
help

OpenSimのシャットダウン
Region (root) # :
shutdown





● OpenSim.iniファイルの修正(物理属性を有効に)

デフォルトでは物理属性は無効になっています。
OpenSim.iniファイルで、物理エンジンを「ODE OpenDynamicsEngine」に変更します。
$ vi  OpenSim.ini
;physics = basicphysics (これをコメントにして)
physics = OpenDynamicsEngine (この行を追加)





● SLビューアの起動オプション(arguments)変更

OpenSim用のSLビューアを用意して、control+クリックします。



「パッケージの内容を表示」から「arguments.txt」ファイルを開いて、起動オプションを記述します。


-multiple  -loginuri  http://127.0.0.1:9000






● おしまい

今はMacOSXにMySQLデータベースをインストールして、OpenSIMをグリッドモードで起動する
手順を清書してます。 できたらアップしてみます。
(いつになるかわかりませんけど。。。。><)


この記事へのトラックバックURL

http://pastel.slmame.com/t446277
この記事へのコメント
まいどー
MacO.S.XをUNIXとして使ってる人はどんくらいいるんでしょねー
でも、そういうこともできるO.S.Xはステキw
ほしーなぁ、MacBookAir・・・
Posted by Moo at 2008年11月30日 18:06
(^^) モーさん、こんばんは

>ほしーなぁ、MacBookAir
さすがにSLは重そうですけど、あの軽さ薄さは魅力です。
Mac版のブレンダーを入れて、通勤モデリングなどいかがでしょう? ^^V
Posted by ぱすてるぱすてる at 2008年12月01日 00:42
少し前にMacの雑誌にOpenSImについての記事が掲載されていたのとはかなり違った方法ですね。
こちらの方法で一度試してみようと思います^^
OpenSim 日本語ドキュメントではちんぷんかんぷんだったのですが、ここまで掲載していただくと大変わかりやすく助かります。

MySQLの記事も気長にお待ちしてます。
全くわからないもので・・・><
本当にぱすてるさんの記事には助けられています。
Posted by ひおまり at 2008年12月03日 12:28
(^^) ひおまりさん。おひさしぶりです。

その記事は知りませんが、おそらく実行形式をダウンロード
して動かす方法だと思います。
一皮むけば、強力なUnix互換のMacです。
ソースからコンパイルして動かす楽しみも味わえるなんて、すばらしいPCですよね。
モーさんが興味ありみたいですから、洗脳して買わせましょう。 ^^b
Posted by ぱすてるぱすてる at 2008年12月05日 20:29