2012年8月20日月曜日

OpenSim環境のアップデイト (xbuildをつかってみる)

SL内で、 Rikachann Aabyeさんにnantの代わりにxbuildを使ってみてはと言われて試してみました。OpenSimのソースに同梱のBUILDING.txtにも、「May also use xbuild (included in mono distributions)」と書いてありました。

ちなみに、OpenSimのソースは、opensim-0.7.3.1-source.tar.gzをOpenSimのサイトからとってきました。 また、Portsアップデイト後のmonoのバージョンは次の通りです。
% mono --version
Mono JIT compiler version 2.11.1 (tarball Mon Aug 13 11:48:31 JST 2012)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           normal
        SIGSEGV:       normal
        Notification:  kqueue
        Architecture:  x86
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            Included Boehm (with typed GC and Parallel Mark)
まずは、runprebuild.shを実行してからxbuildを実行してみます。
% ./runprebuild.sh
Prebuild v2.0.5
Copyright (c) 2004-2010
...
... 省略 ...
...
% xbuild
XBuild Engine Version 2.11.1.0
Mono, Version 2.11.1.0
Copyright (C) Marek Sieradzki 2005-2008, Novell 2008-2011.

Build started 08/19/2012 16:09:03.
__________________________________________________
Project "/usr/home/opensim/opensim/opensim-0.7.3.1-source/OpenSim.sln" (default target(s)):
        Target ValidateSolutionConfiguration:
                Building solution configuration "Debug|Any CPU".
...
... 省略 ...
...
        /usr/local/lib/mono/3.5/Microsoft.Common.targets:  warning : Found a conflict between : 'mscorlib, Version=2.0.
0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyTok
en=b77a5c561934e089'. Using 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' reference.
        /usr/local/lib/mono/3.5/Microsoft.Common.targets:  warning : Found a conflict between : 'System, Version=2.0.0.
0, Culture=neutral, PublicKeyToken=b77a5c561934e089' and 'System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b
77a5c561934e089'. Using 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' reference.

         204 Warning(s)
         0 Error(s)

Time Elapsed 00:03:05.2317040
xbuildは一応成功しているように見えます(本当は出力を詳細に調べる必要があるけど...)。 binディレクトリにおりて、OpenSim.ini等の設定ファイルを設定し、OpenSim.exeを起動してみます。
% mono OpenSim.exe
16:44:07 - [OPENSIM MAIN]: configured log4net using default OpenSim.exe.config
16:44:07 - [OPENSIM MAIN]: System Locale is
16:44:07 - [OPENSIM MAIN]: Runtime gave us 200 worker threads and 8 IOCP threads
16:44:07 - [OPENSIM MAIN]: Bumping up to 500 worker threads and 1000 IOCP threads
16:44:07 - Performing compatibility checks...
16:44:07 - Environment is compatible.
16:44:07 - [CONFIG]: Reading configuration settings
16:44:07 - [CONFIG]: Reading configuration file /usr/home/opensim/opensim/opensim-0.7.3.1-source/bin/OpenSimDefaults.ini
16:44:07 - [CONFIG]: Reading configuration file /usr/home/opensim/opensim/opensim-0.7.3.1-source/bin/OpenSim.ini
16:44:07 - [LOGGING]: Logging started to file /usr/home/opensim/opensim/opensim-0.7.3.1-source/bin/OpenSim.log
16:44:07 - [OPENSIM MAIN]: Using async_call_method SmartThreadPool
16:44:07 - [STARTUP]: Beginning startup processing
16:44:07 - [STARTUP]: OpenSimulator version: OpenSim 0.7.3.1 Release
16:44:07 - [STARTUP]: Operating system version: Unix 8.2.10.0, .NET platform Unix, 32-bit
16:44:07 - [APPLICATION]:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs

Exception: System.TypeLoadException: Could not load type 'OpenSim.Framework.Console.CommandConsole' from assembly 'OpenSim.Framework.Console, Version=0.6.5.29081, Culture=neutral, PublicKeyToken=null'.
  at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () [0x00000] in :0
  at OpenSim.Application.Main (System.String[] args) [0x00000] in :0

Application is terminating: True
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'OpenSim.Framework.Console.CommandConsole' from assembly 'OpenSim.Framework.Console, Version=0.6.5.29081, Culture=neutral, PublicKeyToken=null'.
  at OpenSim.Framework.Servers.BaseOpenSimServer.Startup () [0x00000] in :0
  at OpenSim.Application.Main (System.String[] args) [0x00000] in :0
なんだか良くわからない例外(Exception)が発生しています。うーん、OpenSim.Framework.Console.CommandConsole は OpenSim/Framework/Console/CommandConsole.cs のソースの中で定義されているクラスっぽいけど....なんでだろ。

古いバージョンのmonoで試してみる

mono のバージョンが 2.10.6 のままのマシン(nantも0.90でちゃんとうごいてたもの)があったので、これでopensim-0.7.3.1を展開し、コンパイルしてみたところ、すんなりコンパイル&実行できてしまいました。FreeBSDの mono 2.11.xx は、OpenSimを動かすにはまだ不具合が多いってことなのかしら....。

というわけで、今日はここまでにします(^_^;)。

0 件のコメント:

コメントを投稿