Skip to content
Facebook's branch of Apache Thrift, including a new C++ server.
C++ Java Python Hack D Ruby Other
Find file
Latest commit dd36751 May 2, 2016 @ngoyal ngoyal committed with Facebook Github Bot 9 Set the appropriate AsyncSocketExceptionType from SSLException
We should use the appropriate AsyncSocketExceptionType when firing SSLExceptions.  This derives the type from the constructor args, and introduces a `NETWORK_ERROR` exception type.  Open to suggestions on reusing something there.

Additionally, rename getType() to getSSLError() to prevent hiding the AsyncSocketException::getType.

Reviewed By: siyengar

Differential Revision: D3241204

fb-gh-sync-id: de631dfb3554177d5bd561f4b91e767c882767d3
fbshipit-source-id: de631dfb3554177d5bd561f4b91e767c882767d3

FBThrift: Facebook's branch of apache thrift

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


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.


  • Facebook's folly library:

  • 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 \

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

cd fbthrift/thrift/
# Or ./build/ or ./build/
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


Some docs on the new cpp2 server are at:

Something went wrong with that request. Please try again.