2010年11月12日金曜日

osxとnvidiaな環境でLuxRenderをビルドしたり。

前回からのつづき。ようやくLuxRenderのビルドもできるようになりました。

いろいろてこずったんでメモ。
luxraysがすんなりいったのでluxも楽勝だと思ったらそうでもなかった。

参考にしたのはLuxRender公式wikiとフォーラムのこのあたり。
[Tutorial] Build on Mac OS X with Xcode
OSX-renewing buildprocess -out-of-the-box-compile-
LuxRays - Building on Mac OS X
手順は、必要なライブラリやツールを準備、ソースのダウンロード、ビルド設定
ファイルの編集、Xcodeのプロジェクトファイル出力、Xcodeでビルド、という感じ。
詳細は以下に。


1. ライブラリやツールの準備

必要なパッケージの明細は上記リンク先で確認するとして、ここでは嵌った点のみメモ。

ひとつはcmake。
portで導入するとバージョン2.8がインストールされるけど、いろいろ調べるとcmakeは
バージョン2.6が推奨らしい。またフォーラム等ではgui版を利用した手順の方が比較的
多く目についた感じ。

というわけでcmakeはこちらからGUI版のcmake2.6.4のdmgパッケージをダウンドード
して インストールするのがおすすめ。既にportで2.8をインストールしていてもport版は
 /opt/local/bin、dmg版は/usr/binにインストールされるので併存させても問題無さげ。
ちなみに一応2.8でも試してみたけどうまくいかなかった。cmakeのバージョン以外に
問題があった可能性は否定できないけど推奨環境にしておくのに越した事はない。

もう一つはQt。
こちらもportでインストールしたものだとOSX SDKのフレームワークのインストール先に
Qt関連のフレームワークセットが作成されず、Xcodeでビルドする際に面倒なことに。
なのでQtもdmgで配布されてるインストーラ付きパッケージを利用するほうがよさげ。
こちらからQt SDK for Mac(LGPL版)をダウンロードしてインストールすればOK。

最後にLuxRenderの最新の開発版をビルドする場合にはLuxRaysライブラリが必要に
なるので、そちらを先にビルドしておく。その辺は以前すませているのでここでは省略。


2. ソースのダウンロード

mercurialを使ってcloneする。
$ hg clone http://src.luxrender.net/lux
$ hg clone http://src.luxrender.net/luxrays
$ hg clone http://src.luxrender.net/macos
src.luxrender.netからclone出来ない場合はbitbucket.org/luxrenderを試すと良さげ。


3. ビルド設定ファイルの編集

cmakeの設定ファイルであるCMakeLists.txtを自分の環境に合わせて編集。
途中いろいろいじったけど、結果的にはOpenCL関連の修正だけでよかったみたい。
85行目あたりにあるOPENCL_INCLUDE_DIRSとOPENCL_LIBRARYの部分を前回の
LuxRaysの時と同様に修正しておく。


4. Xcodeのプロジェクトファイル出力

最初にインストールしたcmakeのGUI版を起動する。
"Browse Source"のボタンをクリックしてcloneしてきたluxのフォルダを指定。
"Browse Build"のボタンをクリックしてこちらも同じフォルダを指定。
次に下にある"Configure"ボタンをクリックすると出力ファイルの形式を尋ねられるので
ファイル形式は"Xcode"、オプションは"Specify options for cross-compiling"を指定。



で、"Continue"をクリックして次に行くとプロジェクト詳細設定のダイアログが表示される
ので下図のように設定。OSやSDKのバージョン、CPU種別は各自の環境に合わせ要変更。



で、"Done"をクリックすると最初のウィンドウに戻って設定が始まる。プログレスバーが
進んで完了してもリストのアイテムがいくつか赤いままに残っている場合は、"Configure"
ボタンをクリック。再度設定が行われると赤いのが消えるはず。設定が問題なく済めば
"Generate"ボタンが有効になるので、それをクリックしてXcodeのプロジェクトファイルを
出力させる。luxのソースフォルダにlux.xcodeprojというファイルが作成されていればOK。


5. Xcodeでビルド

まずは先ほど出力したプロジェクトファイルをXcodeでひらく。
メニューの"プロジェクト"→"プロジェクト設定の編集"でビルド対象のアーキテクチャや
最適化オプションを自分の環境に合わせて指定。あとはメニューの"ビルド"→"ビルド"して
完了するのを待つ。問題なく完了すればソースフォルダのRelease以下にLuxRenderを
はじめとするビルドされたファイルがあるので起動してみる。



こんな感じのウインドウが表示されればOK。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手