<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <meta content="en-us" http-equiv="Content-Language" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="/static/images/favicon.ico" rel="shortcut icon" />
    <link href="/static/css/style.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/codehilite.css" rel="stylesheet" type="text/css" />
    <link href="/static/css/bootstrap.css" media="screen, projection" rel="stylesheet" type="text/css" />
    <link href="/static/css/thrift.css" media="screen, projection" rel="stylesheet" type="text/css" />

    <script src="/static/js/jquery.min.js"></script>
    <script src="/static/js/bootstrap-dropdown.js"></script>
    <script src="/static/js/bootstrap-tab.js"></script>
    <script src="/static/js/thrift.js"></script>

    <title>Apache Thrift - Index of install/</title>
  </head>
  <body>
    <div class="navbar">
  <div class="navbar-inner">
    <div class="container">
      <a class="brand" href="/">Apache Thrift &trade;</a>
      <div class="nav-collapse">
        <ul class="nav pull-right">
          <li><a href="/download">Download</a></li>
          <li><a href="/docs">Documentation</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/lib">Libraries</a></li>
          <li><a href="/tutorial">Tutorial</a></li>
          <li><a href="/test">Test Suite</a></li>
          <li><a href="/about">About</a></li>
          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="http://www.apache.org/" target="_blank">Apache Home</a></li>
              <li><a href="http://www.apache.org/licenses/" target="_blank">Apache License v2.0</a></li>
              <li><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a></li>
              <li><a href="http://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a></li>
              <li><a href="http://www.apache.org/security/" target="_blank">Security</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>

    <div class="container">
      <p>Apache Thrift’s compiler is written in C++ and designed to be portable, but there are some system requirements which must be installed prior to use. Select your os below for a guide on setting up your system to get started</p>

<ul>


























  <li><a href="/docs/install/centos.html">Centos 6.5 Install</a></li>























  <li><a href="/docs/install/debian.html">Debian/Ubuntu install</a></li>

































































  <li><a href="/docs/install/os_x.html">OS X Install</a></li>

























  <li><a href="/docs/install/windows.html">Windows Install</a></li>


</ul>

<hr />

<h2 id="basic-requirements">Basic requirements</h2>
<ul>
  <li>A relatively POSIX-compliant *NIX system
    <ul>
      <li>Cygwin or MinGW can be used on Windows (but there are better options, see below)</li>
    </ul>
  </li>
  <li>g++ 4.2 (4.8 or later required for thrift compiler plug-in support)</li>
  <li>boost 1.53.0</li>
  <li>Runtime libraries for lex and yacc might be needed for the compiler.</li>
</ul>

<h2 id="requirements-for-building-from-source">Requirements for building from source</h2>
<ul>
  <li>GNU build tools:
    <ul>
      <li>autoconf 2.65</li>
      <li>automake 1.13</li>
      <li>libtool 1.5.24</li>
    </ul>
  </li>
  <li>pkg-config autoconf macros (pkg.m4)</li>
  <li>lex and yacc (developed primarily with flex and bison)</li>
  <li>libssl-dev</li>
</ul>

<h2 id="requirements-for-building-the-compiler-from-source-on-windows">Requirements for building the compiler from source on Windows</h2>
<ul>
  <li>Visual Studio C++</li>
  <li>Flex and Bison (e.g. the WinFlexBison package)</li>
</ul>

<h2 id="language-requirements">Language requirements</h2>
<p>These are only required if you choose to build the libraries for the given language</p>

<ul>
  <li>C++
    <ul>
      <li>Boost 1.53.0</li>
      <li>libevent (optional, to build the nonblocking server)</li>
      <li>zlib (optional)</li>
    </ul>
  </li>
  <li>Java
    <ul>
      <li>Java 1.7</li>
      <li>Apache Ant</li>
    </ul>
  </li>
  <li>C#: Mono 1.2.4 (and pkg-config to detect it) or Visual Studio 2005+</li>
  <li>Python 2.6 (including header files for extension modules)</li>
  <li>PHP 5.0 (optionally including header files for extension modules)</li>
  <li>Ruby 1.8
    <ul>
      <li>bundler gem</li>
    </ul>
  </li>
  <li>Erlang R12 (R11 works but not recommended)</li>
  <li>Perl 5
    <ul>
      <li>Bit::Vector</li>
      <li>Class::Accessor</li>
    </ul>
  </li>
  <li>Haxe 3.1.3</li>
  <li>Go 1.4</li>
  <li>Delphi 2010</li>
</ul>


    </div>
    <div class="container">
  <hr>
  <footer class="footer">
    <div class="row">
      <div class="span3">
        <h3>Links</h3>
        <ul class="unstyled">
          <li><a href="/download">Download</a></li>
          <li><a href="/developers">Developers</a></li>
          <li><a href="/tutorial">Tutorials</a></li>
        </ul>
        <ul class="unstyled">
          <li><a href="/sitemap">Sitemap</a></li>
        </ul>
      </div>
      <div class="span3">
        <h3>Get Involved</h3>
        <ul class="unstyled">
          <li><a href="/mailing">Mailing Lists</a></li>
          <li><a href="http://issues.apache.org/jira/browse/THRIFT">Issue Tracking</a></li>
          <li><a href="/docs/HowToContribute">How To Contribute</a></li>
        </ul>
      </div>
      <div class="span6">
        <a href="http://www.apache.org/"><img src="/static/images/feather.svg" onerror="this.src='/static/images/feather.png';this.onerror=null;" /></a>
        Copyright &copy; 2023 <a href="http://www.apache.org/">Apache Software Foundation</a>.
        Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>.
        Apache, Apache Thrift, and the Apache feather logo are trademarks of The Apache Software Foundation.
      </div>
    </div>
  </footer>
</div>

  </body>
</html>
