アーカイブ

2009 年 7 月 のアーカイブ

地理情報解析の計算機 野良ビルド手順 覚書

2009 年 7 月 16 日 コメントはありません

Postgresqlは自分でコンパイルしたほうが速いぞ!という記事を見て、やってみた。ついでだから他のソフトウェア(GDAL、GRASS、R)もできる限り高機能・高性能になるようにオプションを設定してビルドしてみた。なお当方この手の作業には不慣れなので不適な手順があるかも(特にリンカの設定とか理解していない)。

Debianインストール

普通に。インストールセットのオプションは基本的なもの(名前忘れた)のみで。

事前準備

事前にインストールが必要なもの apt-get installでインストール。これも自前でビルドしたほうが速くなると思う。

su
apt-get install -y gcc binutils gettext bison libreadline5-dev flex zlib1g-dev libgeos-dev proj libcfitsio3-dev libnetcdf-dev libogdi3.2-dev libhdf4g-dev libhdf5-mpich-dev libjasper-dev libcurl4-openssl-dev libgeos-dev proj libtiff4-dev libpng12-dev libgl1-mesa-dev libglut3-dev tcl8.4-dev tk8.4-dev libfftw3-dev libatlas-base-dev libavcodec-dev libavformat-dev libswscale-dev liblapack-dev lesstif2-dev libcairo2-dev python-dev swig libwxgtk2.8-dev libglw1-mesa-dev libx11-dev libxmu-dev
exit

Postgresqlビルド&インストール

これが理解できるようになるまでが厄介。パッケージに頼りたくもなるわ。

インストールディレクトリの準備

DBを自分専用にするならば、入門書によく見られるpostgresとかユーザーを用意する必要は無くて、インストールディレクトリの所有者を自分にすればよい。ロールの設定等の手間が省ける。ただし、うっかりインストールディレクトリを削除してしまう可能性はある。滅多に触れる場所ではないから大丈夫だろうけど。

su
mkdir /usr/local/pgsql
mkdir /var/pgdata
chown -R heromiya /usr/local/pgsql
chown -R heromiya /var/pgdata
exit
実際に使うユーザーでコンパイル&インストール
tar -xzf postgresql-8.4.0.tar.gz
cd postgresql-8.4.0
export LDFLAGS=-L/usr/local/lib
./configure
make
make check
make install
パスを通す。

.bashrcなどに書き込んだほうが吉。

PG=/usr/local/pgsql
export PATH=$PATH:$PG/bin
export MANPATH="$MANPATH":$PG/man
export PGLIB=$PG/lib
export PGDATA=/var/pgdata
初期設定

日本語は使わないのであればオプションなしでOK。

initdb
自動起動スクリプト
#!/bin/sh
###
### postgreSQL start/stop script
###

SU=/bin/su
RM=/bin/rm
PGHOME=/usr/local/pgsql

case "$1" in
'start')
       $RM -f /tmp/.s.PGSQL.5432
       $SU - postgres -c "$PGHOME/bin/pg_ctl start -D /var/pgdata"
;;
'stop')
       $SU - postgres -c "$PGHOME/bin/pg_ctl stop -D /var/pgdata"
;;
esac
exit 0
init.dに放り込む
chmod 744 /etc/init.d/postgres
ln /etc/init.d/postgres /etc/rc0.d/K10postgres
ln /etc/init.d/postgres /etc/rc1.d/K10postgres
ln /etc/init.d/postgres /etc/rc2.d/S91postgres
ln /etc/init.d/postgres /etc/rcS.d/K10postgres
参考文書のURL
  • http://ryouto.jp/linux/linux_25.html
  • http://www.freewheelburning.com/solaris/sol_postgresql.html

SQLiteのビルド&インストール

amalgamationが推奨みたい。特に注意点はなし。

su
./configure
make
make install
exit

Spatiailteのビルド&インストール

SQLiteと同様にamalgamationが推奨みたい。geosとprojの機能が使いたければライブラリの場所を指定する。

su
./configure --with-geos-lib=/usr/lib --with-proj-lib=/usr/lib
make
make install
exit

GDALビルド&インストール

いくつかは商用ライブラリがないとビルドで組み込めないオプションがある。ここではできる限りたくさんのフォーマットが扱えるようにしてみた。多くのライブラリは標準的なパスにインストールされるので、–withなオプションをつける必要はない。この段階ではGRASS support: noのままでインストール。ogdiはなぜかうまくいかないので断念。

su
export CFLAGS="-O3 -mtune=i686 -m32"
export CXXFLAGS="-O3 -mtune=i686 -m32"
./configure --with-pg=/usr/local/pgsql/bin/pg_config --with-sqlite3=/usr/local/lib --with-static-proj4=/usr/lib --with-local=/usr/lib/mpich --with-libz=internal --with-pcraster=internal --with-png=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal --prefix=$HOME/apps --with-geos=$HOME/apps/bin/geos-config  --with-spatialite=/usr/local/lib
make install
exit

2009/10/8追記:TIFF、PNGなどもGDALに含まれるライブラリを参照するように設定したり、コンパイルオプションをつけたり。

GRASSのビルド&インストール

GRASSのビルドオプションはやたらとたくさんある。BLAS、LAPACK(線形計算ライブラリ)、Cairo(きれいな画像出力)があるのは意外。Debianのパッケージでどのオプションが使われているのかわからないけど、このビルドで性能が向上してくれるといいなぁ。以下、openDWG以外全部のオプションを組み込む場合。

freetypeのオプションに参照されるヘッダファイルがfreetype2とfreetype2/freetypeの両方にあって–with-freetype-includesでは完全に指定できないので/usr/includeにfreetype2/freetypeへのシンボリックリンクを張ってごまかす。ldの設定で何とかなると思うんだが。

su
cd /usr/include
ln -s freetype2/freetype

上記に同じく/usr/local/libに/usr/local/pgsql/lib/libpq.so.5へのシンボリックリンクを張ってやる。これもldの設定で何とかなると思うんだが。

cd /usr/local/lib
ln -s /usr/local/pgsql/lib/libpq.so.5

コンパイル。openDWGはわからんので今回は断念。readlineは依存関係で干渉しあっているものがあるようでうまく動作しないので外す。#

#いろいろ使ってみたい人仕様
#./configure --with-gdal=/usr/local/bin/gdal-config  --with-tcltk-includes=/usr/include/tcl8.4 --with-blas --with-cxx --with-cairo --with-ffmpeg --with-ffmpeg-includes=/usr/include/ffmpeg --with-freetype --with-lapack --enable-largefile --with-motif --with-nls --with-postgres --with-postgres-includes=/usr/local/pgsql/include   --with-postgres-libs=/usr/local/pgsql/lib --with-python --with-sqlite --with-wxwidgets --with-glw
#コマンドラインしか使わない人仕様 最後のprefixは適宜変更
 ./configure --with-cxx --with-postgres --with-sqlite --with-odbc --with-blas --with-lapack --with-cairo --with-freetype --with-gdal=/home/heromiya/apps/bin/gdal-config --with-proj-share=/usr/share/proj --with-postgres-includes=/usr/local/pgsql/include --with-postgres-libs=/usr/local/pgsql/lib --without-tcltk --enable-largefile --prefix=/home/heromiya/apps
make
make install
exit

もう一回GDALのビルド&インストール

こんどは–with-grass=/usr/local/grass-6.4.0RC5を付けてコンパイル。下記、LD_LIBRARY_PATHは余計なのがあるかも。あとプラグインソフトウェアでもOKな気がする(というかマニュアルにはそう書いてある)。LD_LIBRARY_PATHは.bashrcにも書いておかないとgdalが正常に動いてくれない。ldconfigなどで対応できると思うがよく理解していない。

su
LD_LIBRARY_PATH=/usr/local/grass-6.4.0RC5/lib:/usr/local/pgsql/lib:/usr/local/lib
export CFLAGS="-O3 -mtune=i686 -m32"
export CXXFLAGS="-O3 -mtune=i686 -m32"
./configure --with-pg=/usr/local/pgsql/bin/pg_config --with-sqlite3=/usr/local/lib --with-static-proj4=/usr/lib --with-local=/usr/lib/mpich --with-libz=internal --with-pcraster=internal --with-png=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal --with-grass=/usr/local/grass-6.4.0RC5 --prefix=$HOME/apps --with-geos=$HOME/apps/bin/geos-config --with-spatialite=/usr/local/lib
make install
exit

Rのビルド&インストール

–with-lapack –with-blasで高速な計算ライブラリを組み込んでくれる。pcreはPerlの正規表現の機能みたい。zlibとbzlibを何に使っているのかは知らん。ワークスペースの圧縮か? その他に特別な操作は必要ないはず。

su
./configure --with-lapack --with-blas --with-zlib --with-bzlib --with-pcre --with-recommended-packages
make
make install
exit

QGISのビルド&インストール

QGISは./configure;make;make installってわけにはいかない。INSTALLの「5. Building on GNU/Linux」を参照。

QT系のライブラリをインストール。

su
apt-get install libqt4-core libqt4-debug libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf

「5.4 Install additional software ~」のうちまだインストールしていないものを入れる。

su
apt-get install python-dev subversion ccache cmake txt2tags python-qt4 python-qt4-dev python-sip4 sip4 python-sip4-dev

5.6にしたがって、

cd /usr/local/bin
su
ln -s /usr/bin/ccache gcc
ln -s /usr/bin/ccache g++

ソースコードのディレクトリに移ってビルド。ccmakeの仕組みは良くわからんが下記手順でOK。

cd ~/src/qgis-1.0.2
mkdir build
cd build
ccmake -D CMAKE_INSTALL_PREFIX=$HOME/apps/ -D GRASS_INCLUDE_DIR=$HOME/apps/grass-6.4.0RC5/include -D GRASS_PREFIX=$HOME/apps/grass-6.4.0RC5 ..
#-D オプションはインストールディレクトリ、GRASSのインストールディレクトリの設定など。詳しくはINSTALLで。
make
make install
カテゴリー: GIS/RS, linux タグ:

今夏見てみるアニメ

2009 年 7 月 12 日 コメントはありません

最近はtwitterでぼやいてばっかりで満足しちゃって、あんまりブログを書くモチベーションがあがらん。

備忘録的に簡単な感想など。

春から引き続き。
蒼天航路
漢臭さが週始めのスタートアップに心地よい。曹操の男気に心奮わされる。
クロスゲーム
原作はあだち充。高校スポーツのドラマが好きだから見てる。特に下克上的な展開は。
鋼の錬金術師
前期の最終回のあとが気になる。これまでは前期の復習みたいだったけど、やっと新しい話が始まるみたい。
真マジンガー衝撃!Z編
ナレーションがアツい。ちなみに主題歌には奥田民生が関わっている。
シャングリ・ラ
近未来にありそでなさそな設定が、リアリティとファンタジーの境界に引き込んでくれる感じ。もっと話題になってもいいと思うんだが。
Phantom
10年位前に原作ゲームがヒット。それにつられて見てみたが、見ごたえあり。ただし、他の話題作に話題を持っていかれて、変にファンアニメに落ちた感がある。
この夏から。
東京マグニチュード8.0
録画はしたけど、まだ見ていない。一般向けとして面白そうではある。
青い花
百合ドラマ。うまく表現できないが、こういう非日常的なドラマを見てみたい気がするから見てみてる。正直、百合な人たちの気持ちは理解できん。ちなみに舞台となる町並みが家庭教師で行っていたところでなんとなく知っている。
CANAAN
一般向けノベルズゲームの「428」が原案。第1話見てみては、緊迫感の刺激が良かった。
化物語
シャフトだから見てる。これって学園ホラーなのか。シャフトに色づけされると、人によっては度が過ぎるんじゃないかと思った。
絶望先生
上に同じくシャフトだから見てる。ホラーではない。大槻ケンジの主題歌に惚れる。
カテゴリー: 未分類 タグ: