2008年09月13日

Linux版影付きSLビューアコンパイル手順(1.21対応)

● やっと、make(Cross platform cmake)に対応した。 ^^/

いぜん、以下の記事で、影付きビューアのコンパイル手順を紹介したのですが、
この頃は、sconsというなじみのない開発ツールが使われていて
どうも使い勝手がよくありませんでした。

Linux版ビューワ コンパイル手順(影がいいです~)
http://pastel.slmame.com/e281554.html


でも、1.21系から、ようやく馴染みのmake(cmake)を使うビルド方法に変わりましたので、
おかげで、コンパイル時のエラーなども効率よく解決できるようになりました。

新しいコンパイル方法解説ページ
http://wiki.secondlife.com/wiki/Get_source_and_compile




● プラットフォーム

OSは、いつものように、Ubuntu8.0.4 (Debian/GNU Linux系OS)です。
RedHat系(Fedora、CentOS等)の手順は、そのうち誰かさんが書いてくれるでしょう。。 ^^b



● CMAKEの入手とインストール

Ubuntuにもcmakeパッケージ(2.6.X)が用意されていますが、バージョンが新らしすぎてコンパイルできませんでした。
忠告にも書かれています。

http://wiki.secondlife.com/wiki/CMake

Performing a build with CMake
Note: we do not yet support CMake 2.6.0. Please use CMake 2.4.8 instead.

なので、Ubuntuパッケージではなく、cmakeのサイトからV2.4.8のソースを入手して、ビルドします。

# wget http://www.cmake.org/files/v2.4/cmake-2.4.8.tar.gz
# tar xvzf cmake-2.4.8.tar.gz
# cd cmake-2.4.8
# ./configure
# make
# make install

# ls /usr/local/bin/
./  ../  cmake*  cpack*  ctest*

※ cmake本体は、/usr/local/binにインストールされます、PATHを通しておきましょう。



● Ubuntuに必要なパッケージ

Ubuntuインストール直後の環境では、SLビューアのビルドに、以下のパッケージが必要でした。
apt-get コマンドでパッケージをインストールしました。

# apt-get install g++
# apt-get install libx11-dev
# apt-get install bison
# apt-get install flex
# apt-get install zlib1g-dev
# apt-get install mesa-common-dev
# apt-get install libgl1-mesa-dev
# apt-get install libglu1-mesa-dev
# apt-get install libfontconfig1-dev




● FMODAPIの入手

Firelight Technologies社のサウンドライブラリ fmodapiを入手して、解凍します。

$ wget http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz
$ tar xvzf fmodapi375linux.tar.gz




● SLビューア RC版 ソースの入手

Release Candidates版は以下のURLから入手します。

http://wiki.secondlife.com/wiki/Source_downloads/

Releases and Release Candidates ver RC-1.21.1
slviewer-artwork-viewer_1-21-1-r95603.zip
slviewer-src-viewer_1-21-1-r95603.tar.gz
slviewer-linux-libs-viewer_1-21-1-r95603.tar.gz




● SLビューア Shadow-Draft-2版 ソースの入手

影付きビューア shadow-draft-2版は、以下のURLで配布されています。
「shadow draft」で検索すれば見つかります。

http://svn.secondlife.com/trac/linden/changeset/

Changeset 1140
Timestamp:09/03/08 13:29:48 (5 days ago)
Message:Snapshot of internal branch shadow-draft-2
Last Changed Rev: 95516

slviewer-artwork-shadow-draft-2-r95516.zip
slviewer-src-shadow-draft-2-r95516.tar.gz
slviewer-linux-libs-shadow-draft-2-r95516.tar.gz




● SLビューアソースの解凍

入手した3ファイルを解凍したら、「linden」ディレクトリが作成されます。
ちなみに、slviewer-linux-libs-viewerを解凍しても中身はほとんど空っぽです。
ライブラリはmake中に、ネットワークからダウンロードされます。

$ tar xvzf slviewer-src-shadow-draft-2-r95516.tar.gz
$ tar xvzf slviewer-linux-libs-shadow-draft-2-r95516.tar.gz
$ unzip slviewer-artwork-shadow-draft-2-r95516.zip

$ cd linden/indra/




● コンパイル・ビルドの前に

コンパイル・ビルドの為の、スクリプト「develop.py」が用意されています。
まずは、ヘルプでオプションを確認します。
develop.pyの引数に、コマンドを指定する必要があります。

$ cd linden/indra/

$ ./develop.py --help

Usage:  develop.py [options] command [command-options]

Options:
 -h | --help print this help message
      --standalone build standalone, without Linden prebuild libraries
      --unattended build unattended, do not invoke any tools requiring
          a human response
 -t  | --type=NAME build type ("Debug", "Release", or "RelWithDebInfo")
 -N | --no-distcc disable use of distcc
 -G | --generator=NAME generator name
          Windows: VC71 or VS2003 (default), VC80 (VS2005) or VC90 (VS2008)
          Mac OS X: Xcode (default), Unix Makefiles
          Linux: Unix Makefiles (default), KDevelop3
Commands:
 build     configure and build default target
 clean     delete all build directories (does not affect sources)
 configure configure project by running cmake

If you do not specify a command, the default is "configure".




● いきなりbuild(configure and build)してはいけない。

いきなりbuildすると、途中でエラーで落ちます。
理由は、ダウンロードしたFMODAPIが所定のディレクトリに無いからです。



● まずは、configureから

$ ./develop.py configure

configure実行中に、これだけのパッケージがダウンロード、解凍されます。
ディスク、パーティションの空き容量には十分注意してください。-> 私のこと。。。。><;

ogg-vorbis-1.03-1.1.2-linux-20080613.tar.bz2
apr_suite-1.2.8-linux-20080618.tar.bz2
boost-1.32.0-linux-20080613.tar.bz2
expat-1.95.8-linux-20080613.tar.bz2
zlib-1.1.4-linux-20080618.tar.bz2
ares-1.4.0-linux-20080729.tar.bz2
curl-7.16.0-linux-20080613.tar.bz2
openSSL-0.9.7c-linux-20080613.tar.bz2
xmlrpc-epi-0.51-linux-20080618.tar.bz2
jpeglib-6b-linux-20080613.tar.bz2
libpng-1.2.18-linux-20080613.tar.bz2
openjpeg-1.2-linux-20080613.tar.bz2
gstreamer-linux-20080613.tar.bz2
libxml-2.6.24-linux-20080613.tar.bz2
GL-linux-20080613.tar.bz2
glh_linear-linux-20080613.tar.bz2
SDL-1.2.5-linux-20080613.tar.bz2
mesa-7.0-linux-20080613.tar.bz2
llmozlib-linux-20080613.tar.bz2
freetype-2.1.5-linux-20080613.tar.bz2
gtk-atk-pango-glib-linux-20080616.tar.bz
elfio-1.0.3-linux-20080613.tar.bz2
ndofdev-linux-20080618.tar.bz2
libstdc++-6.0-linux-20080613.tar.bz2
libuuid-linux-20080613.tar.bz2
vivox-linux-20080613.tar.bz2
fontconfig-2.2.3-linux-20080613.tar.bz2




● FMODAPIのコピー

configureが正常終了したら、linden配下にコピー先のディレクトリが作られています。
FMODAPIのインクルードファイルとライブラリをコピーします。

$ cp fmodapi375linux/api/inc/*                  linden/libraries/i686-linux/include/
$ cp fmodapi375linux/api/libfmod-3.75.so linden/libraries/i686-linux/lib_release_client/




● つぎに、build

$ ./develop.py build

途中で以下のメッセージが表示されて、やたらと待たされます。
最初は、ハングアップしたのか?と勘違いしてしまいました。

Refreshing master cache from http://secondlife.com/app/message_template/master_message_template.msg
--- PASS ---
Same




● 実行しましょう~。

以下のディレクトリに、SLビューアのアーカイブが作成されます。

linden/indra/viewer-linux-i686/newview/SecondLife-i686-1.21.1.0.tar.bz2

解凍して、実行します。

$ tar xvjf SecondLife-i686-1.21.1.0.tar.bz2
$ cd SecondLife-i686-1.21.1.0/
$ ./secondlife




● 影の有効化は昔と同じ手順です。

ビューアの「Advanced」->「Debug Settings」ウィンドウを開いて

1.RenderDeferred を FALSE(誤) に設定
2.RenderUseFBO を TRUE(正) に設定
3.RenderDeferred を TRUE(正) にもどす




● 完成~ ^^/

気のせいか以前に比べて、影が淡くなったような、イイ感じがします。
では、このまま、お気に入りの場所へ。 ^^





● めんどくさいのでシェルスクリプト化

#!/bin/sh

URL=http://secondlife.com/developers/opensource/downloads/2008/09
SRC1=slviewer-src-shadow-draft-2-r95516.tar.gz
SRC2=slviewer-linux-libs-shadow-draft-2-r95516.tar.gz
SRC3=slviewer-artwork-shadow-draft-2-r95516.zip

wget $URL/$SRC1
if [ $? -ne 0 ]; then
    echo "******** Download Error : $SRC1"
    exit 1
fi

wget $URL/$SRC2
if [ $? -ne 0 ]; then
    echo "******** Download Error : $SRC2"
    exit 1
fi

wget $URL/$SRC3
if [ $? -ne 0 ]; then
    echo "******** Download Error : $SRC3"
    exit 1
fi

URL=http://www.fmod.org/index.php/release/version
FMOD=fmodapi375linux.tar.gz

wget $URL/$FMOD
if [ $? -ne 0 ]; then
    echo "******** Download Error : $FMOD"
    exit 1
fi

tar xvzf $SRC1
tar xvzf $SRC2
unzip -o $SRC3

tar xvzf $FMOD

cd linden/indra/

./develop.py clean

./develop.py configure
if [ $? -ne 0 ]; then
    echo "******** develop.py : configure error"
    exit 1
fi

cp ../../fmodapi375linux/api/inc/*                   ../libraries/i686-linux/include/
cp ../../fmodapi375linux/api/libfmod-3.75.so  ../libraries/i686-linux/lib_release_client/

./develop.py build
if [ $? -ne 0 ]; then
    echo "******** develop.py : build error"
    exit 1
fi

cp viewer-linux-i686/newview/*.bz2 /usr/local/

exit 0




同じカテゴリー(SLViewer)の記事
 Macで影付きビューアをコンパイル/ビルドしてみるテスト (2009-05-16 20:45)
 Linux版ビューワ コンパイル手順(影がいいです〜) (2008-06-22 19:25)

Posted by ぱすてる at 00:14│Comments(7)SLViewer
この記事へのコメント
こんにちは^^

やっとビュアがまともに動作するようになりましたので
ビュアのコンパイルに挑戦したのはいいですが^^;

一筋縄ではいきませんね^^;
一つの教訓:パスには日本語を含めてはいけない
      fedora9ではホーム以下日本語ディレクトリーだったんですね^^

次の難関はすぐには解決しそうにないかも^^;
cc1plus: warnings being treated as errors
In file included from /home/rika/secondlife/linden/indra/llrender/llcubemap.cpp:45:

/home/rika/secondlife/linden/indra/llrender/llrender.h:222: error: ‘typedef’ was ignored in this declaration

もし ヒントありましたら お願いします^^;
ってか 他力本願で^^;すみません
Posted by rikachann at 2008年09月21日 16:22
自己処理です
パッチで解決しました^^
fix_llrender_struct.patchを適用しました

でも 最後のアーカイバーが作成されません
一難さってまた一難^^;

プラス思考で^^きりぬこう〜っと
Posted by rikachann at 2008年09月21日 22:43
(^^) どもども。

あれこれトラブリながらも、自己解決してるではないですか。
さすがですね。

>最後のアーカイバーが作成されません
なんでしょうね? zlib関連が原因とか?
久しぶりにFedora入れてみよう。FC6以来ですけど。。
いろいろ情報交換しましょー。
Posted by ぱすてるぱすてる at 2008年09月21日 23:18
こんばんは^^

Fedora動かしていただけるんですか。うあ~ うれしいな^^

こちらこそ情報交換よろしくお願いします(もらうばかりかも^^;)
zlib関係もういちど確認してみます
ありがとうございます。
Posted by rikachann at 2008年09月22日 20:19
またまた 自己処理です

cmakeのバージョンの違いでした^^;
ぱすてるさんが書かれてるように
cmake2.4でbuildしましたら無事
アーカイブが作成できました。
gcc4.3.0で1箇所のパッチでコンパイルは通るようです。
今回はオリジナルをコンパイルしましたので
影対応のビュアをコンパイルしてみます。^^
Posted by rikachann at 2008年09月23日 20:20
(^^) リカチャンサン、こんにちは。

>fix_llrender_struct.patchを適用しました
これって、どこにあるのでしょう?
ググっても、見つかりませんでした~。><
こりゃ、リカチャンサンの手順書アップ待ちですな。 ^^)v
Posted by ぱすてるぱすてる at 2008年09月24日 00:11
ぱすてるさん こんばんは^^

え~とpatchはここにあります。
http://jira.openmv.org/browse/MEER-31
手順書できるの時間かかりますので
ご確認してみてください^^
それと1つ問題があります。音がでないですよね
両ビュアとも^^;
いまのところ原因不明です^^;
Posted by rikachann at 2008年09月24日 21:37
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。