2008年06月22日
Linux版ビューワ コンパイル手順(影がいいです〜)
● 今日は朝から雨なので
最近話題になってる、インワールドの影(Dynamic Shadows)を体験したくて
SLビューワのLinux版を、ソースからコンパイル・ビルドしてみました。
私が最近買ったPCですが、グラフィックボードがGF8800GTXなので、OKみたいです。
OSは、Linux Ubuntu8.04LTS です。
● マニュアルを読みます。
結構親切でわかりやすいのですが、案の定、コンパイル中にエラーが出まくります。
試行錯誤と野生の勘で、何とか動きましたので、ヨシとします。。^^;
http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Linux)
● Required tools
Root権限で、必要なパッケージをインストールしました。
# apt-get install scons
# apt-get install bison
# apt-get install flex
# apt-get install libboost-program-options-dev
● Installing the required libraries
Root権限で、必要なライブラリをインストールしました。
# apt-get install mesa-common-dev
# apt-get install libglu1-mesa-dev
# apt-get install libstdc++6-dev
# apt-get install zlib1g-dev
# apt-get install libssl-dev
● ソースコード(Changeset 575)の入手
http://svn.secondlife.com/trac/linden/changeset/575
slviewer-artwork-shadow-draft-r87814.zip
slviewer-linux-libs-shadow-draft-r87814.tar.gz
slviewer-src-shadow-draft-r87814.tar.gz
このサイトから、必要なソース3つをwgetコマンドでダウンロードしました。
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-artwork-shadow-draft-r87814.zip
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-linux-libs-shadow-draft-r87814.tar.gz
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-src-shadow-draft-r87814.tar.gz
● www.fmod.org サウンド関連ライブラリ(fmodapi375linux.tar.gz)の入手
サードバーティ製のサウンド関連ライブラリが必要と書いてありますので、入手します。
$ wget http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz
● Unpack the source tree
ソースコードを解凍します
$ tar xvzf slviewer-src-shadow-draft-r87814.tar.gz
$ tar xvzf slviewer-linux-libs-shadow-draft-r87814.tar.gz
$ unzip slviewer-artwork-shadow-draft-r87814.zip
上書きしますか?の質問に、ALL を選んでみました。
replace linden/indra/newview/app_settings/windlight/clouds2.tga? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
ローカルディレクトリに「linden」というディレクトリが作成され、ソース1式が解凍されます。
● サウンド関連ライブラリを解凍して、ヘッダ、ライブラリを、「linden」配下にコピーします。
$ tar xvzf fmodapi375linux.tar.gz
$ cd fmodapi375linux/
$ cp api/inc/* ../linden/libraries/i686-linux/include/
$ cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release_client/
● Compiling
最後にパッケージ一式を圧縮してくれる、releasefordownloadモードでコンパイルして見ました。
$ scons DISTCC=no BTARGET=client BUILD=releasefordownload MOZLIB=yes
● エラー出まくり ーー;
(1) g++-4.1 がありません、と出たので
# apt-get install g++-4.1
(2) libboost 関連がありません、がたくさん出るので、「SConstruct」ファイルの中を調べて
libboost 関連のパッケージを片っ端から、インストールしてみました。^^;
# apt-get install libboost-dev
# apt-get install libboost-regex-dev
# apt-get install libboost-signals-dev
(3) boost_signals-gcc34-mt が無い、というエラーが出ます。
マニュアルにも解決方法が書いてありました。
http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Linux)
Required tools
「SConstruct」ファイルには、以下のようにlibboost関連の指定がたくさんあります。
(linden/indra/SConstruct)
client_external_libs += [ 'boost_program_options-gcc34-mt', 'boost_signals-gcc34-mt', 'boost_regex-gcc34-mt']
external_libs += ['boost_signals-gcc34-mt']
boost_signals_lib = 'boost_signals-gcc33-mt-d'
boost_libs = [ 'boost_regex-gcc33-mt-d', boost_signals_lib ]
など
でも、ubuntu8.04のファイル一覧を調べると、ファイル名に「gcc33」「gcc34」などバージョンがついていないので
「SConstruct」ファイルを修正してしまいます。(オリジナルのSConstructファイルはコピーしておく事)
(linden/indra/SConstruct)
client_external_libs += [ 'boost_program_options-mt', 'boost_signals-mt', 'boost_regex-mt']
external_libs += ['boost_signals-mt']
boost_signals_lib = 'boost_signals-mt-d'
boost_libs = [ 'boost_regex-mt-d', boost_signals_lib ]
● やっとこさ、コンパイル・ビルド終了~
(正常終了時のメッセージ)
Running command: mv newview/packaged newview/SecondLife_i686_1_20_6_0
Running command: tar -C newview --numeric-owner -cjf newview/SecondLife_i686_1_20_6_0.tar.bz2 SecondLife_i686_1_20_6_0
Running command: mv newview/SecondLife_i686_1_20_6_0 newview/packaged
scons: done building targets.
圧縮されたパッケージが作成されます。
linden/indra/newview/SecondLife_i686_1_20_6_0.tar.bz2
● パッケージを解凍して、実行
$ tar xvjf linden/indra/newview/SecondLife_i686_1_20_6_0.tar.bz2
$ cd SecondLife_i686_1_20_6_0
$ ./secondlife
● ビューワで、「Debug Settings」の設定
ビューワの「Advanced」->「Debug Settings」ウィンドウを開いて
1.RenderDeferred を FALSE(誤) に設定
2.RenderUseFBO を TRUE(正) に設定
3.RenderDeferred を TRUE(正) にもどす
● 京都河原町サンドボックスの夕暮れ
なんか、夕ご飯の匂いが漂ってきそうな感じです~。^^
こんな苦労しなくても、はやく影が表示できるようになるといいですね。

最近話題になってる、インワールドの影(Dynamic Shadows)を体験したくて
SLビューワのLinux版を、ソースからコンパイル・ビルドしてみました。
私が最近買ったPCですが、グラフィックボードがGF8800GTXなので、OKみたいです。
OSは、Linux Ubuntu8.04LTS です。
● マニュアルを読みます。
結構親切でわかりやすいのですが、案の定、コンパイル中にエラーが出まくります。
試行錯誤と野生の勘で、何とか動きましたので、ヨシとします。。^^;
http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Linux)
● Required tools
Root権限で、必要なパッケージをインストールしました。
# apt-get install scons
# apt-get install bison
# apt-get install flex
# apt-get install libboost-program-options-dev
● Installing the required libraries
Root権限で、必要なライブラリをインストールしました。
# apt-get install mesa-common-dev
# apt-get install libglu1-mesa-dev
# apt-get install libstdc++6-dev
# apt-get install zlib1g-dev
# apt-get install libssl-dev
● ソースコード(Changeset 575)の入手
http://svn.secondlife.com/trac/linden/changeset/575
slviewer-artwork-shadow-draft-r87814.zip
slviewer-linux-libs-shadow-draft-r87814.tar.gz
slviewer-src-shadow-draft-r87814.tar.gz
このサイトから、必要なソース3つをwgetコマンドでダウンロードしました。
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-artwork-shadow-draft-r87814.zip
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-linux-libs-shadow-draft-r87814.tar.gz
$ wget http://secondlife.com/developers/opensource/downloads/2008/05/slviewer-src-shadow-draft-r87814.tar.gz
● www.fmod.org サウンド関連ライブラリ(fmodapi375linux.tar.gz)の入手
サードバーティ製のサウンド関連ライブラリが必要と書いてありますので、入手します。
$ wget http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz
● Unpack the source tree
ソースコードを解凍します
$ tar xvzf slviewer-src-shadow-draft-r87814.tar.gz
$ tar xvzf slviewer-linux-libs-shadow-draft-r87814.tar.gz
$ unzip slviewer-artwork-shadow-draft-r87814.zip
上書きしますか?の質問に、ALL を選んでみました。
replace linden/indra/newview/app_settings/windlight/clouds2.tga? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
ローカルディレクトリに「linden」というディレクトリが作成され、ソース1式が解凍されます。
● サウンド関連ライブラリを解凍して、ヘッダ、ライブラリを、「linden」配下にコピーします。
$ tar xvzf fmodapi375linux.tar.gz
$ cd fmodapi375linux/
$ cp api/inc/* ../linden/libraries/i686-linux/include/
$ cp api/libfmod-3.75.so ../linden/libraries/i686-linux/lib_release_client/
● Compiling
最後にパッケージ一式を圧縮してくれる、releasefordownloadモードでコンパイルして見ました。
$ scons DISTCC=no BTARGET=client BUILD=releasefordownload MOZLIB=yes
● エラー出まくり ーー;
(1) g++-4.1 がありません、と出たので
# apt-get install g++-4.1
(2) libboost 関連がありません、がたくさん出るので、「SConstruct」ファイルの中を調べて
libboost 関連のパッケージを片っ端から、インストールしてみました。^^;
# apt-get install libboost-dev
# apt-get install libboost-regex-dev
# apt-get install libboost-signals-dev
(3) boost_signals-gcc34-mt が無い、というエラーが出ます。
マニュアルにも解決方法が書いてありました。
http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Linux)
Required tools
「SConstruct」ファイルには、以下のようにlibboost関連の指定がたくさんあります。
(linden/indra/SConstruct)
client_external_libs += [ 'boost_program_options-gcc34-mt', 'boost_signals-gcc34-mt', 'boost_regex-gcc34-mt']
external_libs += ['boost_signals-gcc34-mt']
boost_signals_lib = 'boost_signals-gcc33-mt-d'
boost_libs = [ 'boost_regex-gcc33-mt-d', boost_signals_lib ]
など
でも、ubuntu8.04のファイル一覧を調べると、ファイル名に「gcc33」「gcc34」などバージョンがついていないので
「SConstruct」ファイルを修正してしまいます。(オリジナルのSConstructファイルはコピーしておく事)
(linden/indra/SConstruct)
client_external_libs += [ 'boost_program_options-mt', 'boost_signals-mt', 'boost_regex-mt']
external_libs += ['boost_signals-mt']
boost_signals_lib = 'boost_signals-mt-d'
boost_libs = [ 'boost_regex-mt-d', boost_signals_lib ]
● やっとこさ、コンパイル・ビルド終了~
(正常終了時のメッセージ)
Running command: mv newview/packaged newview/SecondLife_i686_1_20_6_0
Running command: tar -C newview --numeric-owner -cjf newview/SecondLife_i686_1_20_6_0.tar.bz2 SecondLife_i686_1_20_6_0
Running command: mv newview/SecondLife_i686_1_20_6_0 newview/packaged
scons: done building targets.
圧縮されたパッケージが作成されます。
linden/indra/newview/SecondLife_i686_1_20_6_0.tar.bz2
● パッケージを解凍して、実行
$ tar xvjf linden/indra/newview/SecondLife_i686_1_20_6_0.tar.bz2
$ cd SecondLife_i686_1_20_6_0
$ ./secondlife
● ビューワで、「Debug Settings」の設定
ビューワの「Advanced」->「Debug Settings」ウィンドウを開いて
1.RenderDeferred を FALSE(誤) に設定
2.RenderUseFBO を TRUE(正) に設定
3.RenderDeferred を TRUE(正) にもどす
● 京都河原町サンドボックスの夕暮れ
なんか、夕ご飯の匂いが漂ってきそうな感じです~。^^
こんな苦労しなくても、はやく影が表示できるようになるといいですね。

Posted by ぱすてる at 19:25│Comments(5)
│SLViewer
この記事へのコメント
Linux関連はいつも情報が(相対的に)少ないので、こういった記事はとても参考になります!(^_^)
Posted by march at 2008年06月23日 12:09
(^^) marchさん、おはつです。
marchさんもLinux使いですか?
この手の記事は、すぐに内容が古くなってしまいます。
オープンソースは、情報公開、情報共有が基本ですから、
marchさんも新しい情報をどんどん発信してください。
ソースからあれこれ試行錯誤して完成させる、ものづくりも楽しいですね~。
IT技術のスキルアップにもなりますし。
marchさんもLinux使いですか?
この手の記事は、すぐに内容が古くなってしまいます。
オープンソースは、情報公開、情報共有が基本ですから、
marchさんも新しい情報をどんどん発信してください。
ソースからあれこれ試行錯誤して完成させる、ものづくりも楽しいですね~。
IT技術のスキルアップにもなりますし。
Posted by ぱすてる
at 2008年06月23日 19:54

おおお〜〜〜
Dynamic Shadows ですか??
影が!!!! リアリティーありますね。
近い将来--PCの違いで見え方が変わってきますね。
Dynamic Shadows ですか??
影が!!!! リアリティーありますね。
近い将来--PCの違いで見え方が変わってきますね。
Posted by 漱石
at 2008年06月26日 18:20

(^^) 漱石さん、どもども。
影付きであちこち散策しましたが、建築デザイナさんにとって影は間違いなく
デザインの要素のひとつになりそうです。
ますますデザイン力が必要になりそうですね~。
漱石さんの腕の見せ所です。
これからは、土地の向きやファサードの方角、近隣の日影や
逆日影図を考える必要もありそうですね。。。
あれ? そういえば、インワールドに建築基準法ってありましたっけ?(爆)
影付きであちこち散策しましたが、建築デザイナさんにとって影は間違いなく
デザインの要素のひとつになりそうです。
ますますデザイン力が必要になりそうですね~。
漱石さんの腕の見せ所です。
これからは、土地の向きやファサードの方角、近隣の日影や
逆日影図を考える必要もありそうですね。。。
あれ? そういえば、インワールドに建築基準法ってありましたっけ?(爆)
Posted by ぱすてる
at 2008年06月26日 21:00

こんばんわ
建築基準法・・・ですね(^^;
北側斜線制限なんかも考慮しなくていけなくなりますかね。。(^^; ナイナイ
影がデザインの要素の1つになりそう・・・・
おっしゃる通り、なるでしょうね。。
RLでは照明効果の考慮はあってもーーー陰影の効果まではなかなか考慮していませんでしたね。。
楽しみですね
建築基準法・・・ですね(^^;
北側斜線制限なんかも考慮しなくていけなくなりますかね。。(^^; ナイナイ
影がデザインの要素の1つになりそう・・・・
おっしゃる通り、なるでしょうね。。
RLでは照明効果の考慮はあってもーーー陰影の効果まではなかなか考慮していませんでしたね。。
楽しみですね
Posted by 漱石
at 2008年06月26日 21:29
