| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 1 | ## Debian or Ubuntu setup |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 2 | The following command will install tools and libraries required to build and install the Apache Thrift compiler and C++ libraries on a Debian/Ubuntu Linux based system. |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 3 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 4 | sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev libboost-thread-dev make |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 5 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 6 | You will want to add the git package to the list above if you plan to clone the Apache Thrift source code repository. |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 7 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 8 | Debian 7/Ubuntu 12 users need to manually install a more recent version of automake and (for C++ library and test support) boost: |
| Roger Meier | 81a1f99 | 2014-10-22 14:09:43 +0200 | [diff] [blame] | 9 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 10 | wget http://ftp.debian.org/debian/pool/main/a/automake-1.15/automake_1.15-3_all.deb |
| 11 | sudo dpkg -i automake_1.15-3_all.deb |
| 12 | |
| 13 | wget http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.gz tar xvf boost_1_60_0.tar.gz |
| 14 | cd boost_1_60_0 |
| 15 | ./bootstrap.sh |
| 16 | sudo ./b2 install |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 17 | |
| 18 | ## Optional packages |
| 19 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 20 | If you would like to build Apache Thrift libraries for other programming languages you may need to install additional packages. The following languages require the specified additional packages: |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 21 | |
| Randy Abernethy | 833236f | 2016-02-13 17:30:20 -0800 | [diff] [blame^] | 22 | * Java |
| 23 | * To build Apache Thrift support for Java you will need to install the ant package and Java JDK v1.7 or higher. Type **javac** to see a list of available packages, pick the one you prefer and **apt-get install** it (e.g. openjdk-7-jdk). |
| 24 | * Ruby |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 25 | * ruby-full ruby-dev ruby-rspec rake rubygems libdaemons-ruby libgemplugin-ruby mongrel |
| 26 | * Python |
| 27 | * python-all python-all-dev python-all-dbg |
| 28 | * Perl |
| 29 | * libbit-vector-perl libclass-accessor-class-perl |
| 30 | * Php, install |
| 31 | * php5-dev php5-cli phpunit |
| 32 | * C_glib |
| 33 | * libglib2.0-dev |
| 34 | * Erlang |
| 35 | * erlang-base erlang-eunit erlang-dev |
| 36 | * Csharp |
| 37 | * mono-gmcs mono-devel libmono-system-web2.0-cil nunit nunit-console |
| 38 | * Haskell |
| 39 | * ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev |
| 40 | * Thrift Compiler for Windows |
| Roger Meier | 8720260 | 2014-08-15 22:16:02 +0200 | [diff] [blame] | 41 | * mingw32 mingw32-binutils mingw32-runtime nsis |
| Roger Meier | e9f00cb | 2014-05-30 14:35:34 +0200 | [diff] [blame] | 42 | |
| 43 | |
| 44 | ## Additional reading |
| 45 | |
| 46 | For more information on the requirements see: [Apache Thrift Requirements](/docs/install) |
| 47 | |
| 48 | For more information on building and installing Thrift see: [Building from source](/docs/BuildingFromSource) |