Giter VIP home page Giter VIP logo

saifhhasan / fbthrift Goto Github PK

View Code? Open in Web Editor NEW

This project forked from facebook/fbthrift

0.0 1.0 0.0 18.3 MB

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

License: Apache License 2.0

CMake 0.04% Makefile 0.22% Shell 0.10% C++ 71.17% HTML 1.32% Python 7.37% C 0.64% Thrift 0.98% Hack 4.01% Java 10.21% PHP 1.20% Objective-C 0.61% Haskell 1.27% Lex 0.05% Yacc 0.14% M4 0.43% Emacs Lisp 0.02% Vim Script 0.01% TeX 0.21% Protocol Buffer 0.01%

fbthrift's Introduction

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-all-dev
    • 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.

fbthrift's People

Contributors

alandau avatar andrewcox avatar andrewjcg avatar ckwalsh avatar danilotsr avatar dcsommer avatar ddrcoder avatar dusty-phillips avatar eduardo-elizondo avatar fried avatar igorsugak avatar jesboat avatar luciang avatar mcdufffb avatar meyering avatar mhorowitz avatar mshneer avatar ngoyal avatar orvid avatar ot avatar philippv avatar roticv avatar rushidesai avatar shamdor-fb avatar simpkins avatar siyengar avatar snarkmaster avatar tudor avatar wez avatar yfeldblum avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.