Difference between revisions of "Compiling the viewer (Mac OS X)/ja"

From Second Life Wiki
Jump to navigation Jump to search
m
(updated translation as of 14:30, 30 April 2013)
Line 7: Line 7:


* '''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 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''': 2011/06/08 現在、Xcode 4 ではうまくいきません。
* '''Xcode 4''': MAC 系コンピュータでは今では Xcode 4.6 を使ってビルドができるようになっていますが、通常の手順の前に、Xcode 4.3 をダウンロードして [[#Xcode 4.6 の改造]] に従って操作するという手順が必要です。
* '''CMake''': CMake を [http://www.cmake.org cmake.org] から入手するか、[http://macports.org/ MacPorts] を使い、'port install cmake' でインストールします。CMake 2.6 以上が必須です。将来、CMake 2.8 以降が必須となるかもしれません。
* '''CMake''': CMake を [http://www.cmake.org cmake.org] から入手するか、[http://macports.org/ MacPorts] を使い、'port install cmake' でインストールします。CMake 2.6 以上が必須です。将来、CMake 2.8 以降が必須となるかもしれません。
* '''Command line Makefiles''': Apple の Xcode に同梱されています。Apple の Xcode をダウンロードしてインストールしてください。
* '''Command line Makefiles''': Apple の Xcode に同梱されています。Apple の Xcode をダウンロードしてインストールしてください。
注: Xcode で提供される ''bison'' と ''flex'' ではうまくいかず、 MacPorts で取得したものを使う必要があったという報告もあります。その場合、 ''bison'' は 2.3 でなければならず (2.6 や 2.7 ではエラー発生), ''flex'' は 2.5.35 でうまくいったとのことです。


= ソースコードのダウンロード =
= ソースコードのダウンロード =
Line 15: Line 17:
Linden Lab の [[Project Snowstorm]] は [[version control repository|バージョン管理リポジトリ]] に [http://mercurial.selenica.com Mercurial] と [http://bitbucket.org Bit Bucket] を採用しています。リポジトリは[http://hg.secondlife.com こちら]にあります。必要に応じて、''viewer-development''、''viewer-beta''、''viewer-release''、その他諸々を漁ってください。初めての場合は、おそらく ''viewer-release'' か ''viewer-beta'' を取得するのがいいでしょう。''viewer-developer'' は1週間に数回更新されるからです。しかしそうではなくて、最新のソースコードで作業したいという場合は、[[Project Snowstorm]] の最新ビルドや bitbucket の ''viewer-developer'' を漁ってください。
Linden Lab の [[Project Snowstorm]] は [[version control repository|バージョン管理リポジトリ]] に [http://mercurial.selenica.com Mercurial] と [http://bitbucket.org Bit Bucket] を採用しています。リポジトリは[http://hg.secondlife.com こちら]にあります。必要に応じて、''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 の担当者は既に許可を求めて、断られています。だから、自分で取得してください。)
ビューアのビルドによっては、前提ライブラリに依存しているものがあります(前提ライブラリの利用を敬遠していたり、許可されていなかったりする開発者のために、他のオープンソースライブラリも提供されています)。Linden の担当者はこれらのライブラリを配布しませんので、ライブラリパッケージをダウンロードしてあっても、これらのライブラリは別に取得/インストールしなければなりません。(ライセンス制約の関係からこうなっています。Linden の担当者にお願いしないでください。Linden の担当者は既に許可を求めて、断られています。だから、自分で取得してください。)


=== Fmod ===
== Fmod ==
(要手順、{{jira|STORM-406}} と {{jira|OPEN-6}} 参照のこと)
 
=== Fmod その1 (autobuild を使った方法) ===
 
CD コマンドで 3p-fmod レポジトリをインストールしたい場所に移動します。
<pre>
$ hg clone <nowiki>https://bitbucket.org/lindenlab/3p-fmod</nowiki>
$ cd 3p-fmod
$ autobuild build --all
$ autobuild package
</pre>
 
実行結果はこのように表示されます。
<pre>
packing fmod
wrote  /3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
md5    527422281dbe49abac29380996d41230
</pre>
 
リポジトリのルートディレクトリに CD で移動して、autobuild の設定ファイルの名前とハッシュを、表示されているもので書き換えます。例えば上の例の場合、以下のように実行します。
<pre>
$ autobuild installables edit fmod platform=darwin hash=527422281dbe49abac29380996d41230 url=file:///3p-fmod/fmod-3.75-darwin-20120614.tar.bz2
</pre>
 
注: FMOD は現在では対応するバージョンのものが公式から提供されていません。他から fmodapi375mac.zip を取得してくる必要があります。現在、[https://my.secondlife.com/kittin.ninetails Kittin Ninetails] が [http://cid-6a2f42d7b470f408.office.live.com/browse.aspx/Public/Second%20Life SkyDrive] で提供しています。
 
=== Fmod その2 (system module を使った方法) ===


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


== Xcode ==
例:
<pre>
autobuild configure -c RelWithDebInfoOS -- -DLL_TESTS:BOOL=FALSE -DPACKAGE:BOOL=FALSE -DFMOD:BOOL=TRUE
autobuild build -c RelWithDebInfoOS --no-configure
</pre>


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


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


ビルド設定を RelWithDebug (デフォルト)でビルドしたとすると、ビルドされたビューアは<code>build-darwin-i386/newview/RelWithDebInfo/Second Life.app</code>に格納されます。{{KBnote|ビルド設定を変更すると、中間ファイルの格納ディレクトリもそれに従って変更されます。例えば <code>RelWithDebInfo</code> から <code>Release</code> のようになります。2つの設定によって生成されたファイルは、お互い他の設定で生成されたファイルに影響を及ぼしません。}}


新しくコンパイルしたビューアを起動する方法の一つは、Finder を使ってフォルダにアクセスし、アプリケーションをダブルクリックすることです。他の方法として、エイリアスを作成する方法があります。作成したら、そのエイリアスを使いやすいところに配置するとよいでしょう。
= ビルドしたビューアの実行 =
 
== コンソールで ==
 
ソースツリーのルートディレクトリで、以下を実行します。
<pre>
$build-darwin-i386/newview/[CONFIGURATION]/Second\ Life.app/Contents/MacOS/Second\ Life
</pre>
[CONFIGURATION] はビルド構成の名前 ("Debug", "Release", "RelWithDebInfo") に読み替えてください。
 
== Xcode で ==
 
"secondlife-bin" という Scheme を実行してください。
 
== Finder で ==
 
# ''build-darwin-i386/newview/[CONFIGURATION]'' に移動します。
# アプリケーションをダブルクリックします。
:エイリアスを作成して、自分が使いやすい場所に置いておくのもよいでしょう。
 


= ユニットテストのビルド =
= ユニットテストのビルド =
XCode で 'linden/indra/test/MacTester.xcodeproj' というプロジェクトを開き、'MacTester' を Active Target に指定し、ビルドします。
XCode で ''build-darwin-i386/test/test.xcodeproj'' というプロジェクトを開き、 Scheme に "test" を選択して実行します。''SecondLife.xcodeproj'' には "test" という Scheme もあります。


= うまくいかないとき =
= トラブルの対処 =
 
== 解決方法の調査 ==
ここに記載された手順に沿って操作した結果、エラーに遭遇したり、問題が発生したときは、まず他の人が同じ問題を抱えたことがないか確認をお願いします。既知の解決策が存在することもあります。
 
こちらのリソースのどれかに解決策があるかもしれません。
* [[{{TALKPAGENAME}}|原文の Talk ページ]] (役に立つ体験があれば投稿してください)
* [[#Common_Issues.2FBugs.2FGlitches_And_Solutions|原文の下のほうにある問題一覧]] (新しい問題がある場合は、こちらではなく上の Talk ページに追加してください)
* [[Talk:Microsoft_Windows_Builds|以前の Talk ページ]]
* [[Common compilation problems]] (ちょっと古い)
* [[Issue tracker]]


* [[IRC]] (irc.freenode.net #opensl) で助けを求めてください。
* [[SLDev|opensource-dev メーリングリスト]]で助けを求めてください。
*  直してください: [[Modifying CMake Files]] そしてぜひ、パッチを提供してください!
*  直してください: [[Modifying CMake Files]] そしてぜひ、パッチを提供してください!


= パッチの提供 =
== Getting Help ==
同じ問題に関する記述がまだなくても、誰かが知っている可能性がありますので、コミュニティーに助けを求めてみましょう(英語)。
 
* [[OpenSource-Dev|OpenSource-Dev Mailing List]] ([https://lists.secondlife.com/cgi-bin/mailman/listinfo/opensource-dev 登録はこちら]) に登録して、質問を投げてみましょう。
* 早く回答を得たいときは、[irc://irc.freenode.org/opensl #opensl on freenode] にある、オープンソースビューアの一般的なディスカッションと開発作業のための [[IRC]] チャンネルに参加してみましょう。運がよければ、質問したときに、親切な人がオンラインになっていることがあります。
 
== パッチの提供 ==
たぶんずっと先になるでしょうが、ソースコードに変更を加え、それを提供したい場合は、[[Submitting patches|パッチの提供]]に関するページを参照してください。  
たぶんずっと先になるでしょうが、ソースコードに変更を加え、それを提供したい場合は、[[Submitting patches|パッチの提供]]に関するページを参照してください。  


[[Category:Compiling viewer]]
[[Category:Compiling viewer]]

Revision as of 21:08, 10 May 2013

最新の情報は、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 チャンネルに参加してみましょう。運がよければ、質問したときに、親切な人がオンラインになっていることがあります。

パッチの提供

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