考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
  当前位置:操作系统 > Linux > 文章内容
  

Linux基础教程:Ubuntu下thrift0.9.3编译安装

 [ 2016年2月29日 ] 【

Ubuntu下thrift 0.9.3编译安装

1 下载thrift源代码
git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
git checkout 0.9.3
2 编译并安装
安装依赖

apt-get install automake
apt-get install libssl-dev
apt-get install byacc
apt-get install bison
apt-get install flex
apt-get install libevent-dev
生成编译文件

cd thrift
./bootstrap.sh
configure.ac:84: installing './compile'
configure.ac:88: installing './config.guess'
configure.ac:88: installing './config.sub'
configure.ac:27: installing './install-sh'
configure.ac:27: installing './missing'
compiler/cpp/Makefile.am: installing './depcomp'
configure.ac: installing './ylwrap'
编译前配置,禁用java和python, 安装目录设为/usr/lib,而不是默认的/usr/local/lib

./configure --libdir=/usr/lib --without-java --without-python
...
thrift 0.9.3

Building C++ Library ......... : yes
Building C (GLib) Library .... : no
Building Java Library ........ : no
Building C# Library .......... : no
Building Python Library ...... : no
Building Ruby Library ........ : no
Building Haxe Library ........ : no
Building Haskell Library ..... : no
Building Perl Library ........ : no
Building PHP Library ......... : no
Building Erlang Library ...... : no
Building Go Library .......... : no
Building D Library ........... : no
Building NodeJS Library ...... : no
Building Lua Library ......... : no

C++ Library:
  Build TZlibTransport ...... : yes
  Build TNonblockingServer .. : yes
  Build TQTcpServer (Qt4) .... : no
  Build TQTcpServer (Qt5) .... : no

If something is missing that you think should be present,
please skim the output of configure to find the missing
component.  Details are present in config.log.
编译

make
3 运行测试程序
测试

make check
注意,v0.9.3的make check有个bug, 这里是对应的jira issue, 报错信息是

An error message from getaddrinfo on the console is expected:
Thrift: Mon Dec 14 12:19:09 2015 TServerSocket::listen() BIND 9090
4 安装
sudo make install

注意:

$thrift-git-project 是thrift gi项目所在目录
库文件安装在/usr/lib目录下
头文件安装在/usr/local/include/thrift目录下
Making install in compiler/cpp
make[1]: Entering directory '$thrift-git-project/compiler/cpp'
make  install-am
make[2]: Entering directory '$thrift-git-project/compiler/cpp'
make[3]: Entering directory '$thrift-git-project/compiler/cpp'
 /bin/mkdir -p '/usr/local/bin'
  /bin/bash ../../libtool  --mode=install /usr/bin/install -c thrift '/usr/local/bin'
libtool: install: /usr/bin/install -c thrift /usr/local/bin/thrift
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '$thrift-git-project/compiler/cpp'
make[2]: Leaving directory '$thrift-git-project/compiler/cpp'
make[1]: Leaving directory '$thrift-git-project/compiler/cpp'
Making install in lib
make[1]: Entering directory '$thrift-git-project/lib'
Making install in cpp
make[2]: Entering directory '$thrift-git-project/lib/cpp'
Making install in .
make[3]: Entering directory '$thrift-git-project/lib/cpp'
make[4]: Entering directory '$thrift-git-project/lib/cpp'
 /bin/mkdir -p '/usr/lib'
 /bin/bash ../../libtool  --mode=install /usr/bin/install -c  libthrift.la libthriftnb.la libthriftz.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libthrift-0.9.3.so /usr/lib/libthrift-0.9.3.so
libtool: install: (cd /usr/lib && { ln -s -f libthrift-0.9.3.so libthrift.so || { rm -f libthrift.so && ln -s libthrift-0.9.3.so libthrift.so; }; })
libtool: install: /usr/bin/install -c .libs/libthrift.lai /usr/lib/libthrift.la
libtool: install: /usr/bin/install -c .libs/libthriftnb-0.9.3.so /usr/lib/libthriftnb-0.9.3.so
libtool: install: (cd /usr/lib && { ln -s -f libthriftnb-0.9.3.so libthriftnb.so || { rm -f libthriftnb.so && ln -s libthriftnb-0.9.3.so libthriftnb.so; }; })
libtool: install: /usr/bin/install -c .libs/libthriftnb.lai /usr/lib/libthriftnb.la
libtool: install: /usr/bin/install -c .libs/libthriftz-0.9.3.so /usr/lib/libthriftz-0.9.3.so
libtool: install: (cd /usr/lib && { ln -s -f libthriftz-0.9.3.so libthriftz.so || { rm -f libthriftz.so && ln -s libthriftz-0.9.3.so libthriftz.so; }; })
libtool: install: /usr/bin/install -c .libs/libthriftz.lai /usr/lib/libthriftz.la
libtool: install: /usr/bin/install -c .libs/libthrift.a /usr/lib/libthrift.a
libtool: install: chmod 644 /usr/lib/libthrift.a
libtool: install: ranlib /usr/lib/libthrift.a
libtool: install: /usr/bin/install -c .libs/libthriftnb.a /usr/lib/libthriftnb.a
libtool: install: chmod 644 /usr/lib/libthriftnb.a
libtool: install: ranlib /usr/lib/libthriftnb.a
libtool: install: /usr/bin/install -c .libs/libthriftz.a /usr/lib/libthriftz.a
libtool: install: chmod 644 /usr/lib/libthriftz.a
libtool: install: ranlib /usr/lib/libthriftz.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------

首页 1 2 尾页
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved