歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在Linux(CentOS)上安裝Thrift+Scribe

在Linux(CentOS)上安裝Thrift+Scribe

日期:2017/2/28 14:55:01   编辑:Linux教程

遇到各種問題,終於在CentOS下把thrift+Scribe裝好了,記錄一下安裝過程:

首先安裝一個最新版本的autoconf,否則後面編譯的時候會出問題(提示說autoconf版本要2.65以上才行)


wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

tar xvf autoconf-2.69.tar.gz

cd autoconf-2.69

./configure --bindir=/usr/bin

make && make install

更新依賴庫

yum install libevent libevent-develpython-devel

yum install gcc-c++

yum install libtool

yum install automake

yum install byacc flex

安裝boost(推薦選擇1.45版本,否則後面會碰到問題,折騰)

wget http://jaist.dl.sourceforge.net/project/boost/boost/1.45.0/boost_1_45_0.tar.gz


tar -xf boost_1_45_0.tar.gz

cd boost_1_45_0

./bootstrap.sh

./bjam install --prefix=/usr/local/bootstrap

安裝thrift

wget --no-check-certificate https://dist.apache.org/repos/dist/release/thrift/0.8.0/thrift-0.8.0.tar.gz


tar xzf thrift-0.8.0.tar.gz

cd thrift-0.8.0

--with-php-config=/usr/local/php/bin/php-config

./configure --with-boost=/usr/local/bootstrap/ --with-java --prefix=/usr/local/thrift

make && make install

安裝fb303(注意,fb303是thrift的一個子目錄,在thrift-0.8.0裡面)
cd thrift-0.8.0/contrib/fb303

./bootstrap.sh --prefix=/usr/local/thrift/fb303 --with-boost=/usr/local/bootstrap/ --with-thriftpath=/usr/local/thrift/

./configure --prefix=/usr/local/thrift/fb303 --with-boost=/usr/local/bootstrap/ --with-thriftpath=/usr/local/thrift/ CPPFLAGS="-DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H"

安裝Facebook-scribe

wget --no-check-certificate https://nodeload.github.com/facebook/scribe/tarball/master

tar xf facebook-scribe-63e4824.tar.gz

cd facebook-scribe-63e4824

export BOOST_ROOT=/usr/local/bootstrap/

export LD_LIBRARY_PATH=/usr/local/thrift/lib:/usr/lib:/usr/local/lib:/usr/local/bootstrap/lib/

./bootstrap.sh --prefix=/usr/local/scribe --with-boost=/usr/local/bootstrap/ --with-thriftpath=/usr/local/thrift/ --with-fb303path=/usr/local/thrift/fb303


注意,安裝thrift或者scribe的時候,可能會遇到編譯不過的問題thrift/protocol/TBinaryProtocol.tcc:147: error: there are no arguments to 'htons' that depend on a template parameter, so a declaration of 'htons' must be available

需要自己修改一下文件:

vim /usr/local/thrift/include/thrift/protocol/TBinaryProtocol.tcc

在首行添加頭文件引用: #include <arpa/inet.h>

Copyright © Linux教程網 All Rights Reserved