Debian (lenny) へ Q4M をインストール

インストール手順の備忘録です。

# APTラインの設定
lenny% tail -2 /etc/apt/sources.list
deb http://www.backports.org/debian lenny-backports main contrib non-free
deb-src http://www.backports.org/debian lenny-backports main contrib non-free
lenny% sudo aptitude update 

# パッケージの準備
lenny% sudo aptitude install mysql-server-5.1 mysql-common/lenny-backports
lenny% sudo aptitude install libssl-dev g++-4.1 libmysqlclient-dev

# mysqlのソース
lenny% mkdir ${HOME}/mysql
lenny% cd ${HOME}/mysql
lenny% apt-get source mysql-server-5.1

# Q4Mのソース
lenny% mkdir ${HOME}/q4m
lenny% cd ${HOME}/q4m
lenny% wget wget http://q4m.31tools.com/dist/q4m-0.8.5.tar.gz
lenny% tar zxf q4m-0.8.5.tar.gz
lenny% cd q4m-0.8.5

# コンパイル
lenny% ./configure --with-mysql=${HOME}/mysql/mysql-dfsg-5.1-5.1.37 \
                CXX=g++-4.1 CPPFLAGS="-I/usr/include/mysql"
lenny% make
lenny% sudo make install

# テスト
lenny% sudo aptitude install libdata-compare-perl liblist-moreutils-perl 
lenny% DBI='dbi:mysql:database=test;host=localhost;user=root' ./run_tests.pl
t/01-base-rnd_pos.........................ok
t/01-base.................................ok
t/02-queue-cond...........................ok
t/02-queue-owned-delete...................ok
t/02-queue................................ok
t/03-queue-error-wait.....................ok
t/03-queue-error..........................ok
t/04-blob-cond............................ok
t/04-blob.................................ok
t/05-multireader..........................ok 1/4

Multireader benchmark result:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            1.073 seconds
    Throughput:         5962.886 mess./sec.

t/05-multireader..........................ok
t/05-multirw..............................ok 1/4

Multi-reader-writer benchmark result:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            1.564 seconds
    Throughput:         4091.784 mess./sec.

t/05-multirw..............................ok
t/05-multiwait............................ok 1/4

Multi-reader-writer benchmark result under semi-starvation:
    Number of messages: 6400
    Number of readers:  32
    Elapsed:            1.734 seconds
    Throughput:         3691.367 mess./sec.

t/05-multiwait............................ok
t/06-multi................................ok
t/07-trans................................ok
t/08-forward..............................ok
t/09-pqueue-single-table-wake-listener....ok
t/09-pqueue-single-table..................ok
t/10-largedata............................skipped
        all skipped: set BIG_TESTS=1 to run theese tests
All tests successful, 1 test skipped.
Files=18, Tests=68921, 138 wallclock secs (80.05 cusr +  4.29 csys = 84.34 CPU)