● やっと、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