mpioをCentOS5にインストールする
以前から注目していたid:viverさんのライブラリがリリースとのことです
並列イベント駆動I/Oフレームワーク「mpio」リリース
http://d.hatena.ne.jp/viver/20100412
マルチスレッド+ネットワーク なプログラム環境を整える手間が大幅に省けるようです。
早速インストールしてみます。手元の環境はCentOS5.4。
まずはここからダウンロードします。
http://github.com/frsyuki/mpio
githubのアカウントを持っている人はログインした状態で「fork」をクリックした後に
として引っ張ってきます。持っていない人はDownload Sourceして
% tar xvf frsyuki-mpio-*****.tar.gz
などとしましょう。
必要環境は
- linux >= 2.6.18
- g++ >= 4.1
- ruby >= 1.8.6
とREADMEに書かれています。CentOSの標準リポジトリでは2010年4月15日現在に置いてある物が
linux 2.6.18-164.el5
gcc-c++ 4.1.2-46.el5_4.2
ruby 1.8.5-5.el5_4.8
との事なので、rubyだけ要件を満たしません。公式サイトから入手しましょう。
http://www.ruby-lang.org/ja/downloads/
から安定版のtarを落としてきて
% tar xvf ruby-*****.tar.gz
% cd ruby-******.tar.gz
% ./configure
% make
# make install
とすればインストールできます。
% ruby --version
としてrubyが使えるかどうか、及びバージョンを確認しましょう。
使えない場合、パスが通っていません。デフォルトでは/usr/local/binに入っているようなので
% PATH=$PATH:/usr/local/bin/
% export PATH
などで使えるようにしましょう。
このままの状態でインストールしようとしてもCentOSデフォルトでは失敗します。
どうやらlibtool,automake,autoconfが必要なようです。
# yum install libtool automake autoconf
バージョン指定はありませんが、標準リポジトリに置いてあるもので大丈夫な様子です。
それぞれのバージョンは
libtool 1.5.22
automake 1.9.6
autoconf 2.59
でした。
あとは説明にかかれている通り
% ./bootstrap
% ./configure
% make
# make install
すれば完了するはずです。
しかし手元の環境では
$ make
.....
.....
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I.. -O4 -Wall -g -MT libmpio_la-wavy_connect.lo -MD -MP -MF .deps/libmpio_la-wavy_connect.Tpo -c wavy_connect.cc -fPIC -DPIC -o .libs/libmpio_la-wavy_connect.o
In file included from wavy_kernel.h:52,
from wavy_loop.h:23,
from wavy_connect.cc:18:
./wavy_kernel_epoll.h:31:25: error: sys/timerfd.h: No such file or directory
./wavy_kernel_epoll.h:38:26: error: sys/signalfd.h: No such file or directory
とのエラーが出ます。まだ足りない物があるようです。
進んだら追記します。