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!