Compiling the viewer (Mac OS X)/ja
最新の情報は、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 で提供される bison と flex ではうまくいかず、 MacPorts で取得したものを使う必要があったという報告もあります。その場合、 bison は 2.3 でなければならず (2.6 や 2.7 ではエラー発生), flex は 2.5.35 でうまくいったとのことです。
ソースコードのダウンロード
Linden Lab の Project Snowstorm は バージョン管理リポジトリ に Mercurial と Bit Bucket を採用しています。リポジトリはこちらにあります。必要に応じて、viewer-development、viewer-beta、viewer-release、その他諸々を漁ってください。初めての場合は、おそらく viewer-release か viewer-beta を取得するのがいいでしょう。viewer-developer は1週間に数回更新されるからです。しかしそうではなくて、最新のソースコードで作業したいという場合は、Project Snowstorm の最新ビルドや bitbucket の viewer-developer を漁ってください。
Xcode 4.6 の改造
Xcode 4.6 をお使いの場合、ビルドを通すには、通常の手順とは別に以下の手順を踏む必要があります。
- Xcode 4.6.x をダウンロードし、インストールして起動します。 Preferences -> Downloads から、Command Line Tools と依存モジュール一式をインストールし、終了します。
- Apple Developer サイトから Xcode 4.3 をダウンロードします。
- xcode_4.3_for_lion.dmg をマウントします。
- https://bitbucket.org/jj_linden/build-scripts から、 xcode_fix スクリプトを取得します。
- 書き込み権限のあるフォルダーでスクリプトを実行します。スクリプトの中にある 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 Ninetails が SkyDrive で提供しています。
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 で
- build-darwin-i386/newview/[CONFIGURATION] に移動します。
- アプリケーションをダブルクリックします。
- エイリアスを作成して、自分が使いやすい場所に置いておくのもよいでしょう。
ユニットテストのビルド
XCode で build-darwin-i386/test/test.xcodeproj というプロジェクトを開き、 Scheme に "test" を選択して実行します。SecondLife.xcodeproj には "test" という Scheme もあります。
トラブルの対処
解決方法の調査
ここに記載された手順に沿って操作した結果、エラーに遭遇したり、問題が発生したときは、まず他の人が同じ問題を抱えたことがないか確認をお願いします。既知の解決策が存在することもあります。
こちらのリソースのどれかに解決策があるかもしれません。
- 原文の Talk ページ (役に立つ体験があれば投稿してください)
- 原文の下のほうにある問題一覧 (新しい問題がある場合は、こちらではなく上の Talk ページに追加してください)
- 以前の Talk ページ
- Common compilation problems (ちょっと古い)
- Issue tracker
- 直してください: Modifying CMake Files そしてぜひ、パッチを提供してください!
Getting Help
同じ問題に関する記述がまだなくても、誰かが知っている可能性がありますので、コミュニティーに助けを求めてみましょう(英語)。
- OpenSource-Dev Mailing List (登録はこちら) に登録して、質問を投げてみましょう。
- 早く回答を得たいときは、#opensl on freenode にある、オープンソースビューアの一般的なディスカッションと開発作業のための IRC チャンネルに参加してみましょう。運がよければ、質問したときに、親切な人がオンラインになっていることがあります。
パッチの提供
たぶんずっと先になるでしょうが、ソースコードに変更を加え、それを提供したい場合は、パッチの提供に関するページを参照してください。