AND OR  

Thriftとは多言語に対応したRPC(Remote Procedure Call)フレームワークです。

構築

今回はMacbookにインストールしました。
Thriftはboostが必須です。MacPortsでインストールしてしまいます。

  • Boostのインストール
    $ sudo port install boost
  • 環境変数の設定
    export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
    export MANPATH=/opt/local/man:$MANPATH
    export LIBRARY_PATH=/opt/local/lib:$LIBRARY_PATH
    export LD_LIBRARY_PATH=/opt/local/lib:$LD_LIBRARY_PATH
    export C_INCLUDE_PATH=/opt/local/include:$C_INCLUDE_PATH
    export CPLUS_INCLUDE_PATH=/opt/local/include:$CPLUS_INCLUDE_PATH
    export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib
    export BOOST_ROOT=/opt/local/include/boost:$BOOST_ROOT
  • Thriftのインストール
    $ wget -O thrift.tgz "http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz"
    $ tar -xzf thrift.tgz
    $ cd thrift
    $ ./bootstrap.sh
    $ ./configure
    $ make
    $ sudo make install
    以下のようなエラーが出る場合、
    ./configure: line 21183: syntax error near unexpected token `MONO,'
    ./configure: line 21183: `  PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)'
    pkg.m4 をコピーしてから再度 ./configure します。
    $ cp /opt/local/share/aclocal/pkg.m4 ./aclocal
    $ ./bootstrap.sh
    .... 略
  • 各言語のクライアントライブラリのインストール
    $ cd lib/perl
    $ perl Makefile.PL
    $ sudo make install
    $ cd ../rb
    $ sudo ruby setup.rb
    $ cd ../py
    $ sudo python setup.py install