thrift centos 下安装 (http://thrift.apache.org/docs/install/)

1. CentOS setup

The following command install all the required tools and libraries to build and install the Apache Thrift compiler on a CentOS5/RHEL5 Linux based system. These packages are available in the “base” repository.

sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel

2. GIT Checkout

For those who would like to participate in Thrift development, you may checkout Thrift from the Apache GIT repository.


git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift

3.Building from source

If you are building from the first time out of the source repository, you will need to generate the configure scripts. (This is not necessary if you downloaded a released tarball.) From the top directory, do:

./bootstrap.sh

Once the configure scripts are generated, thrift can be configured. From the top directory, do:

./configure

You may need to specify the location of the boost files explicitly. If you installed boost in /usr/local, you would run configure as follows:

./configure --with-boost=/usr/local

If you want to override the logic of the detection of the Java SDK, use the JAVAC environment variable:

./configure JAVAC=/usb/bin/javac 

Note that by default the thrift C++ library is typically built with debugging symbols included. If you want to customize these options you should use the CXXFLAGS option in configure, as such:

./configure CXXFLAGS='-g -O2'
./configure CFLAGS='-g -O2'
./configure CPPFLAGS='-DDEBUG_MY_FEATURE'

To see other configuration options run

./configure --help

Once you have run configure you can build Thrift via make:

make

and run the test suite:

make check
Issues while compiling
  • “compiler/cpp/thriftl.cc:2190: undefined reference to yywrap'”

    you need to install the Flex library (See also Apache Thrift Requirements ) and re-run the configuration script.

  • mv: cannot stat “'.deps/TBinaryProtocol.Tpo': No such file or directory” while building the Thrift Runtime Library

    Re-reun configure with

    --enable-libtool-lock
    

    or by turning off parallel make by placing .NOTPARALLEL: in lib/cpp/Makefile or

    make -j 1
    

    Although the thrift compiler build appears to be compatible with parallel make without libtool lock, the thrift runtime build is not.

Installing

From the top directory, become superuser and do:

make install

Note that some language packages must be installed manually using build tools better suited to those languages (this applies to Java, Ruby, PHP).

Look for the README file in the lib// folder for more details on the installation of each language library package.

 

4.Maven artifact


<dependency>
  <groupId>org.apache.thrift</groupId>
  <artifactId>libthrift</artifactId>
  <version>0.9.0</version>
</dependency>

 

附git安装问题及处理方法:

下载源代码安装后,git clone出现“fatal unable to find remote helper for 'https'”的错误,怀疑是git安装不完全

使用yum安装,出现:

Setting up Install Process
No package git available.
Nothing to do

解决办法:

需要先添加EPEL(Extra Packages for Enterprise Linux) repository:

CentOS5.x 32-bit(x86/i386):

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

CentOS5.x 64-bit(x64):

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

CentOS6.x32-bit (x86/i386):

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

CentOS6.x 64-bit(x64):

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm

posted @ 2013-05-21 14:38  agefisher  阅读(780)  评论(0编辑  收藏  举报