Apache Thrift 官网:http://thrift.apache.org/
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.
Apache Thrift是一个软件框架,用于可扩展且跨语言的服务开发,结合含有代码生成引擎的软件堆栈,构建服务,高效地、无缝地支持C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell、C#、Cocoa、JavaScript、Node.js、Smalltalk、OCaml、Delphi等编程语言。
本安装指南针对于春雨医生 Thrift 定制版,标准版及其他版本也作为参考。
春雨定制版的下载地址:https://github.com/ChunyuLabs/thrift
1. 安装Boost
在Boost官网中,下载安装包,最新版本即可(如.7z压缩),速度可能较慢,约70M。
解压缩,进入该目录,执行如下命令。在执行bootstrap.sh完成之后,才会生成b2可执行文件。
cd boost_1_55_0
sudo ./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install
2. 安装libevent
在libevent官网中,下载安装包,最新版本即可。
解压,然后进入该目录,执行shell命令,
cd libevent-2.1.8-stable
sudo ./configure --prefix=/usr/local
sudo make
sudo make install
3. 安装Bison
直接使用brew安装bison即可,并链接。
sudo brew install bison
brew link bison --force
全部完成后,也可以取消链接。
brew unlink bison
4. 安装Thrift
Clone春雨定制版的GitHub项目,切换分支feature/wftest
。
感谢我的前同事@wfxiang08参与开发。
- 在项目中,执行
./bootstrap.sh
- 执行
export CXXFLAGS="-std=c++11"
- 执行
sudo ./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local --without-ruby --without-haskell --without-erlang --without-perl --without-php --without-nodejs --without-cpp --without-json --without-as3 --without-csharp --without-erl --without-cocoa --without-ocaml --without-hs --without-xsd --without-html --without-delphi --without-gv --without-lua --without-qt
- 执行
sudo make CXXFLAGS=-stdlib=libstdc++
- 执行
sudo make install
最终效果,出 BUILD SUCCESSFUL
即可。
如果执行make
或make install
时,可能出现错误如下:
ld: symbol(s) not found for architecture x86_64
执行clean之后,再重新执行,即可。
sudo make clean
sudo make
5. 验证Thrift
在任意shell环境中,执行thrift --version
,出现Thrift version 1.0.0-dev
等版本信息即可。
OK,that‘s all!Enjoy my article!