thrift安装手册
http://thrift.apache.org/docs/8
http://my.oschina.net/lxrm/blog/161344.8
http://chinahadoop.net/thread-5702-1-1.html8
1简介
thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,工作效率和无缝地与C + +,C#,Java,Python和PHP和Ruby结合。thrift是facebook开发的,我们现在把它作为开源软件使用。thrift允许你定义一个简单的定义文件中的数据类型和服务接口。以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。
>>>最初由facebook开发用做系统内个语言之间的RPC通信 。
>>>2007年由facebook贡献到apache基金会,成为apache项目孵化器中的一员 。
>>>支持多种语言之间的RPC方式的通信:php语言client可以构造一个对象,调用相应的服务方法来调用java语言的服务 ,跨越语言的C/S rpc 调用 。
2准备工作
以下内容均翻译自 thrift官方文档,要求中有些工具可能已经有最新版本,安装最新版本即可:
参考地址:http://thrift.apache.org/docs/install/
2.1基本要求
· 兼容POSIX的类UNIX操作系统
· Windows系统中请使用Cygwin或者 MinGW模拟unix环境
· g++ 4.2
· boost 1.40.0
· lex和yacc工具.
2.2源代码编译要求
· GNU编译tools:
· autoconf 2.65
· automake 1.9
· libtool 1.5.24
· pkg-config autoconf macros (pkg.m4)
· lex和yacc
· libssl-dev
2.3编译语言要求
以下列举了编译为不同语言对应库时的系统要求。
· C++
· Boost 1.40.0
· libevent (可选)
· zlib (可选)
· Java
· Java 1.5
· Apache Ant
· C#: Mono 1.2.4 或者 Visual Studio 2005+
· Python 2.6 (包括扩展模块的头文件)
· PHP 5.0 (可选:包括扩展模块的头文件)
· Ruby 1.8
· Erlang R12 (不推荐使用R11 )
· Perl 5
· Bit::Vector
· Class::Accessor
2.4不同操作系统的要求
主要列举主流系统 的 要求
参考自 官方文档:http://thrift.apache.org/docs/install/centos/
切换到 root用户,执行如下命令 安装 thrift编译安装 必备工具
yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel
参考自官方文档:http://thrift.apache.org/docs/install/os_x/
Boost安装
从 boost.org 下载 boost, 解压,执行如下命令即可编译安装
./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install
libevent安装
从 libevent,下载libevent,解压执行如下命令编译并安装
./configure --prefix=/usr/local
make
sudo make install
参考自 官方文档:http://thrift.apache.org/docs/install/ubuntu/
执行如下命令, 安装 thrift 编译安装 必备工具:
sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
基于Windows 系统的 编译安装有些复杂,在此不做介绍
具体安装步骤参考官方文档:
http://thrift.apache.org/docs/install/windows/
3thrift 编译安装
本手册中选择的 操作系统 为 centsos .6.3
3.1必备工具安装
参考 2.4.1中centos 必备安装:如下
3.2thrift源码准备
3.3配置thrift
执行如下命令
出现如下错误
解决办法
安装 openssl openssl-devel (centOS)
#yum -y install openssl openssl-devel
安装完成再次./configure
配置成功
3.4编译安装
执行 make 命令 安装,出现如下错误
/bin/bash ../../libtool --tag=CXX --mode=link g++-Wall -g -O2 -L/usr/lib -olibtestgencpp.la ThriftTest_constants.lo ThriftTest_types.lo../../lib/cpp/libthrift.la -lssl -lcrypto -lrt -lpthread
libtool: link: ar cru .libs/libtestgencpp.a.libs/ThriftTest_constants.o .libs/ThriftTest_types.o
ar: .libs/ThriftTest_constants.o: No such fileor directory
解决办法:
把c++选项关闭,具体原因尚不清楚
执行如下命令:
./configure –with-cpp=no
make
即可编译完成
然后执行
查看 安装的thrift 版本及帮助
4 参考资料
http://thrift.apache.org/docs/
http://my.oschina.net/lxrm/blog/161344
http://chinahadoop.net/thread-5702-1-1.html