Compiling the viewer (Mac OS X)/ja

From Second Life Wiki
Jump to navigation Jump to search

最新の情報は、Project Snowstorm ページをご確認ください。

開発ツールの入手

  • Xcode 3: ほとんどの Linden 担当者は、Macintosh コンピュータでビルドするのに、Xcode 3.2 を Snow Leopard (OS X 10.6) で使っています。話を簡単にするために、mpkg の内容を全てインストールすることをお奨めします。ちなみに、最近のバージョンの Xcode には、3.1 互換のビルドオプションがあります。(Talk:Compiling_the_viewer_(Mac_OS_X)#Trying_newer_versions_of_tools を参照してください。最近の Xcode (3.2.4) は大丈夫です。)
  • Xcode 4: MAC 系コンピュータでは今では Xcode 4.6 を使ってビルドができるようになっていますが、通常の手順の前に、Xcode 4.3 をダウンロードして #Xcode 4.6 の改造 に従って操作するという手順が必要です。
  • CMake: CMake を cmake.org から入手するか、MacPorts を使い、'port install cmake' でインストールします。CMake 2.6 以上が必須です。将来、CMake 2.8 以降が必須となるかもしれません。
  • Command line Makefiles: Apple の Xcode に同梱されています。Apple の Xcode をダウンロードしてインストールしてください。

注: Xcode で提供される bisonflex ではうまくいかず、 MacPorts で取得したものを使う必要があったという報告もあります。その場合、 bison は 2.3 でなければならず (2.6 や 2.7 ではエラー発生), flex は 2.5.35 でうまくいったとのことです。

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

Linden Lab の Project Snowstormバージョン管理リポジトリMercurialBit Bucket を採用しています。リポジトリはこちらにあります。必要に応じて、viewer-developmentviewer-betaviewer-release、その他諸々を漁ってください。初めての場合は、おそらく viewer-releaseviewer-beta を取得するのがいいでしょう。viewer-developer は1週間に数回更新されるからです。しかしそうではなくて、最新のソースコードで作業したいという場合は、Project Snowstorm の最新ビルドや bitbucket の viewer-developer を漁ってください。

Xcode 4.6 の改造

Xcode 4.6 をお使いの場合、ビルドを通すには、通常の手順とは別に以下の手順を踏む必要があります。

  1. Xcode 4.6.x をダウンロードし、インストールして起動します。 Preferences -> Downloads から、Command Line Tools と依存モジュール一式をインストールし、終了します。
  2. Apple Developer サイトから Xcode 4.3 をダウンロードします。
  3. xcode_4.3_for_lion.dmg をマウントします。
  4. https://bitbucket.org/jj_linden/build-scripts から、 xcode_fix スクリプトを取得します。
  5. 書き込み権限のあるフォルダーでスクリプトを実行します。スクリプトの中にある sudo コマンドを実行するためにパスワードを入力する必要があります。

このスクリプトは、 テンポラリフォルダ ('temp') を作成し、そこに Mac OSX 10.6 SDK を Xcode 4.3 のインストーラの中から引っこ抜いてきます。そしてそれを展開して XCode 4.6 で使えるようにします。展開後、テンポラリフォルダは削除されます。

前提ライブラリのインストール

ビューアのビルドによっては、前提ライブラリに依存しているものがあります(前提ライブラリの利用を敬遠していたり、許可されていなかったりする開発者のために、他のオープンソースライブラリも提供されています)。Linden の担当者はこれらのライブラリを配布しませんので、ライブラリパッケージをダウンロードしてあっても、これらのライブラリは別に取得/インストールしなければなりません。(ライセンス制約の関係からこうなっています。Linden の担当者にお願いしないでください。Linden の担当者は既に許可を求めて、断られています。だから、自分で取得してください。)

Fmod

Fmod その1 (autobuild を使った方法)

CD コマンドで 3p-fmod レポジトリをインストールしたい場所に移動します。

$ hg clone https://bitbucket.org/lindenlab/3p-fmod
$ cd 3p-fmod
$ autobuild build --all
$ autobuild package

実行結果はこのように表示されます。

packing fmod
wrote  /3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
md5    527422281dbe49abac29380996d41230

リポジトリのルートディレクトリに CD で移動して、autobuild の設定ファイルの名前とハッシュを、表示されているもので書き換えます。例えば上の例の場合、以下のように実行します。

 
$ autobuild installables edit fmod platform=darwin hash=527422281dbe49abac29380996d41230 url=file:///3p-fmod/fmod-3.75-darwin-20120614.tar.bz2

注: FMOD は現在では対応するバージョンのものが公式から提供されていません。他から fmodapi375mac.zip を取得してくる必要があります。現在、Kittin NinetailsSkyDrive で提供しています。

Fmod その2 (system module を使った方法)

(未稿)

ビルド構成とビルド

Autobuild で

Autobuild の設定、Autobuild を使ったビルドは、全てのプラットフォームで共通です。完全な手順は Building the Viewer with Autobuild/ja にあるかもしれません。

例:

autobuild configure -c RelWithDebInfoOS -- -DLL_TESTS:BOOL=FALSE -DPACKAGE:BOOL=FALSE -DFMOD:BOOL=TRUE
autobuild build -c RelWithDebInfoOS --no-configure

Xcode で

Building the Viewer with Autobuild/ja の設定手順に従って操作していれば、build-darwin-i386 というディレクトリがソースディストリビューションのルートに作成されていることでしょう。そのディレクトリの中に、SecondLife.xcodeproj というプロジェクトファイルがあり、それが Xcode で使えます。開くとビルドできるように正しく設定されるはずなので、あとは Build and Run をすればいいです。


ビルドしたビューアの実行

コンソールで

ソースツリーのルートディレクトリで、以下を実行します。

$build-darwin-i386/newview/[CONFIGURATION]/Second\ Life.app/Contents/MacOS/Second\ Life

[CONFIGURATION] はビルド構成の名前 ("Debug", "Release", "RelWithDebInfo") に読み替えてください。

Xcode で

"secondlife-bin" という Scheme を実行してください。

Finder で

  1. build-darwin-i386/newview/[CONFIGURATION] に移動します。
  2. アプリケーションをダブルクリックします。
エイリアスを作成して、自分が使いやすい場所に置いておくのもよいでしょう。


ユニットテストのビルド

XCode で build-darwin-i386/test/test.xcodeproj というプロジェクトを開き、 Scheme に "test" を選択して実行します。SecondLife.xcodeproj には "test" という Scheme もあります。

トラブルの対処

解決方法の調査

ここに記載された手順に沿って操作した結果、エラーに遭遇したり、問題が発生したときは、まず他の人が同じ問題を抱えたことがないか確認をお願いします。既知の解決策が存在することもあります。

こちらのリソースのどれかに解決策があるかもしれません。

Getting Help

同じ問題に関する記述がまだなくても、誰かが知っている可能性がありますので、コミュニティーに助けを求めてみましょう(英語)。

  • OpenSource-Dev Mailing List (登録はこちら) に登録して、質問を投げてみましょう。
  • 早く回答を得たいときは、#opensl on freenode にある、オープンソースビューアの一般的なディスカッションと開発作業のための IRC チャンネルに参加してみましょう。運がよければ、質問したときに、親切な人がオンラインになっていることがあります。

パッチの提供

たぶんずっと先になるでしょうが、ソースコードに変更を加え、それを提供したい場合は、パッチの提供に関するページを参照してください。