Skip to content

Facebook's branch of Apache Thrift, including a new C++ server.

License

Notifications You must be signed in to change notification settings

xuleiming/fbthrift

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FBThrift: Facebook's branch of apache thrift Build Status

The main focus of this package is the new C++ server, under thrift/lib/cpp2. This repo also contains a branch of the rest of apache thrift's repo with any changes Facebook has made, however the build system only supports cpp2.

Apache thrift is at https://thrift.apache.org/

Building

Note that under GCC, you probably need at least 2GB of memory to compile fbthrift. If you see 'internal compiler error', this is probably because you ran out of memory during compilation.

Dependencies

  • Facebook's folly library: https://github.com/facebook/folly

  • In addition to the packages required for building folly, Ubuntu 13.10 and 14.04 require the following packages (feel free to cut and paste the apt-get command below):

  sudo apt-get install \
      flex \
      bison \
      libkrb5-dev \
      libsasl2-dev \
      libnuma-dev \
      pkg-config \
      libssl-dev

For your convenience script are provided to install fbthrift's dependencies on several common platforms:

cd fbthrift/thrift/
# Or ./build/deps_ubuntu_12.04.sh or ./build/deps_centos.sh
./build/deps_ubuntu_14.04.sh  
autoreconf -if && ./configure && make

Each deps_*.sh script will install a variety of base system packages, as well as compile and install into in /usr/local some from-source dependencies (like folly).

  • Ubuntu 14.04 64-bit requires the following packages:

    • make
    • autoconf
    • libtool
    • g++
    • libboost-dev-all
    • libevent-dev
    • flex
    • bison
    • libgoogle-glog-dev
    • libdouble-conversion-dev
    • scons
    • libkrb5-dev
    • libsnappy-dev
    • libsasl2-dev

Mstch also needs to be installed.

Docs

Some docs on the new cpp2 server are at: https://github.com/facebook/fbthrift/blob/master/thrift/doc/Cpp2.md

C++ Static Reflection

Information regarding C++ Static Reflection support can be found under the static reflection library directory, in the corresponding README file.

About

Facebook's branch of Apache Thrift, including a new C++ server.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 66.9%
  • Java 10.1%
  • Python 6.2%
  • Hack 3.8%
  • D 3.0%
  • Ruby 1.4%
  • Other 8.6%