Thriftのインストール

だいぶ今更ですが、はまったのでメモしときます。
環境は、CentOS 5.5 です。

ダウンロード

下記URLからダウンロードします。
http://incubator.apache.org/thrift/download/

現在の最新版は、0.5.0です。

インストール

まず、依存ライブラリをインストール

sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel


Thrift本体をインストール

tar xvzf thrift-0.5.0.tar.gz
cd thrift-0.5.0
./configure --prefix=/usr
make
sudo make install


ここで、make中に以下のようなphp系のエラーがでました。

/home/brfrn169/thrift-0.5.0/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp: In function ‘void createObject(char*, zval*, int, zval*, zval*)’:
/home/brfrn169/thrift-0.5.0/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp:390: error: ‘zend_std_get_constructor’ was not declared in this scope


どうやら、php5.2系じゃないとエラーになるようです。
http://www.mail-archive.com/thrift-user@incubator.apache.org/msg01111.html


以下のサイトを参考にしてphp5.2系を入れたらエラーがでなくなりました。
http://kfactory.net/?p=833