Dear Wiki user, You have subscribed to a wiki page or wiki category on "Thrift Wiki" for change notification.
The following page has been changed by MarcoMolteni: http://wiki.apache.org/thrift/GettingUbuntuPackages The comment on the change is: Refactor the page to make it more fluid to read. ------------------------------------------------------------------------------ = Installing the required packages on Ubuntu = - The following command installs all the required tools and libraries to build and install the Thrift compiler on a Ubuntu/Debian Linux based system. + + == Required packages == + {{{ + sudo apt-get install libboost-dev automake libtool flex bison - sudo apt-get install build-essential automake libtool flex bison libboost* ruby-dev - }}} - Note: I'm not clear on what parts of the boost libraries are required so I've included them all. - - == Ubuntu 8.10 == - Note: The latest SVN version of Thrift should build correctly on Ubuntu 8.10, but older versions might not. This issue was tracked at https://issues.apache.org/jira/browse/THRIFT-208. - - The issue has been traced to {{{/bin/sh }}} which in Ubuntu 8.10 is a symlink to {{{/bin/dash}}}. - - '''workaround 1:''' (invasive) - Symlink {{{/bin/sh}}} to {{{/bin/bash}}}: - {{{ - sudo ln -f -s /bin/bash /bin/sh }}} - Now re-run ./configure in the thrift directory. + Then install the Java JDK of your choice. Type {{{javac}}} to see a list of available packages, pick the one you prefer and {{{apt-get install}}} it. + == Optional packages == + + Some other packages depend on what languages you want Thrift to support. For ruby, install {{{ruby-dev}}}. + + == Ubuntu 8.10 and configure == + + Thrift's {{{configure}}} script assumes that {{{/bin/sh}}} is actually {{{/bin/bash}}}. Since on Ubuntu 8.10 {{{/bin/sh}}} is {{{/bin/dash}}}, the {{{configure}}} script fails. See https://issues.apache.org/jira/browse/THRIFT-208 for more details. Note that the patch associated to 208 doesn't solve completely the problem. + + There are two possible workarounds: + - '''Workaround 2:''' (non invasive) + '''Workaround 1 (non invasive): ''' - Just set the environment variable CONFIG_SHELL: + set the environment variable CONFIG_SHELL before running configure {{{ $ CONFIG_SHELL=/bin/bash ./configure }}} + '''workaround 2 (invasive):''' + symlink {{{/bin/sh}}} to {{{/bin/bash}}} + {{{ + $ sudo ln -f -s /bin/bash /bin/sh + $ ./configure + }}} + + == Unofficial packages == [http://fluidinfo.com Fluidinfo] is providing unofficial packages for Ubuntu 8.04 and 8.10 through its [https://launchpad.net/~txamqpteam/+archive Launchpad PPA]. If you want to build packages for the Debian-based distro of your choice, you can apply the latest patch at [http://issues.apache.org/jira/browse/THRIFT-71 THRIFT-71]. - == More info == + == See also == For more information on the requirements see: ThriftRequirements For more information on building and installing Thrift see: ThriftInstallation
