Thrift's compiler is written in C++ and designed to be portable, but there are some system requirements:
Basic requirements
- A relatively POSIX-compliant *NIX system
- Cygwin or MinGW can be used on Windows
- g++ 3.3.5+
- boost 1.33.1+ (1.34.0 for building all tests)
- Runtime libraries for lex and yacc might be needed for the compiler.
Requirements for building from SVN
- GNU build tools: autoconf 2.59+ (2.60+ recommended), automake 1.9+, libtool 1.5.24+
pkg-config autoconf macros (pkg.m4) (Use MacPorts for Mac OS X)
- lex and yacc (developed primarily with flex and bison)
- libssl-dev
Language requirements
- C++
- Boost 1.33.1+
- libevent (optional, to build the nonblocking server)
- zlib (optional)
- Java
- Java 1.5+
- Apache Ant
- Apache Ivy (recommended)
- Apache Commons Lang (recommended)
- SLF4J
- C#: Mono 1.2.4+ (and pkg-config to detect it) or Visual Studio 2005+
- Python 2.4+ (including header files for extension modules)
- PHP 5.0+ (optionally including header files for extension modules)
- Ruby 1.8+ (including header files for extension modules)
- Erlang R12 (R11 works but not recommended)
- Perl 5
- Bit::Vector
- Class::Accessor
These are only required if you choose to build the libraries for the given language.