JS技术

ubuntu thrift 0.9.3编译安装 - Dean Chen的专栏 - 博客频道 - CSDN.NET Dea

字号+ 作者:H5之家 来源:H5之家 2015-12-14 18:30 我要评论( )

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 泛型._02泛型类的继承{ public

Table of Contents

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

./configure --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项目所在目录
  • lib和include目录都在/usr/local目录下
  • 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/local/lib' /bin/bash ../../libtool --mode=install /usr/bin/install -c libthrift.la libthriftnb.la libthriftz.la '/usr/local/lib' libtool: install: /usr/bin/install -c .libs/libthrift-0.9.3.so /usr/local/lib/libthrift-0.9.3.so libtool: install: (cd /usr/local/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/local/lib/libthrift.la libtool: install: /usr/bin/install -c .libs/libthriftnb-0.9.3.so /usr/local/lib/libthriftnb-0.9.3.so libtool: install: (cd /usr/local/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/local/lib/libthriftnb.la libtool: install: /usr/bin/install -c .libs/libthriftz-0.9.3.so /usr/local/lib/libthriftz-0.9.3.so libtool: install: (cd /usr/local/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/local/lib/libthriftz.la libtool: install: /usr/bin/install -c .libs/libthrift.a /usr/local/lib/libthrift.a libtool: install: chmod 644 /usr/local/lib/libthrift.a libtool: install: ranlib /usr/local/lib/libthrift.a libtool: install: /usr/bin/install -c .libs/libthriftnb.a /usr/local/lib/libthriftnb.a libtool: install: chmod 644 /usr/local/lib/libthriftnb.a libtool: install: ranlib /usr/local/lib/libthriftnb.a libtool: install: /usr/bin/install -c .libs/libthriftz.a /usr/local/lib/libthriftz.a libtool: install: chmod 644 /usr/local/lib/libthriftz.a libtool: install: ranlib /usr/local/lib/libthriftz.a libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- /bin/mkdir -p '/usr/local/include/thrift/async' /usr/bin/install -c -m 644 src/thrift/async/TAsyncChannel.h src/thrift/async/TAsyncDispatchProcessor.h src/thrift/async/TAsyncProcessor.h src/thrift/async/TAsyncBufferProcessor.h src/thrift/async/TAsyncProtocolProcessor.h src/thrift/async/TConcurrentClientSyncInfo.h src/thrift/async/TEvhttpClientChannel.h src/thrift/async/TEvhttpServer.h '/usr/local/include/thrift/async' /bin/mkdir -p '/usr/local/include/thrift/concurrency' /usr/bin/install -c -m 644 src/thrift/concurrency/BoostThreadFactory.h src/thrift/concurrency/Exception.h src/thrift/concurrency/Mutex.h src/thrift/concurrency/Monitor.h src/thrift/concurrency/PlatformThreadFactory.h src/thrift/concurrency/PosixThreadFactory.h src/thrift/concurrency/StdMonitor.cpp src/thrift/concurrency/StdMutex.cpp src/thrift/concurrency/StdThreadFactory.cpp src/thrift/concurrency/StdThreadFactory.h src/thrift/concurrency/Thread.h src/thrift/concurrency/ThreadManager.h src/thrift/concurrency/TimerManager.h src/thrift/concurrency/FunctionRunner.h src/thrift/concurrency/Util.h '/usr/local/include/thrift/concurrency' /bin/mkdir -p '/usr/local/include/thrift/processor' /usr/bin/install -c -m 644 src/thrift/processor/PeekProcessor.h src/thrift/processor/StatsProcessor.h src/thrift/processor/TMultiplexedProcessor.h '/usr/local/include/thrift/processor' /bin/mkdir -p '/usr/local/include/thrift/protocol' /usr/bin/install -c -m 644 src/thrift/protocol/TBinaryProtocol.h src/thrift/protocol/TBinaryProtocol.tcc src/thrift/protocol/TCompactProtocol.h src/thrift/protocol/TCompactProtocol.tcc src/thrift/protocol/TDebugProtocol.h src/thrift/protocol/TBase64Utils.h src/thrift/protocol/TJSONProtocol.h src/thrift/protocol/TMultiplexedProtocol.h src/thrift/protocol/TProtocolDecorator.h src/thrift/protocol/TProtocolTap.h src/thrift/protocol/TProtocolException.h src/thrift/protocol/TVirtualProtocol.h src/thrift/protocol/TProtocol.h '/usr/local/include/thrift/protocol' /bin/mkdir -p '/usr/local/include/thrift/qt' /usr/bin/install -c -m 644 src/thrift/qt/TQIODeviceTransport.h src/thrift/qt/TQTcpServer.h '/usr/local/include/thrift/qt' /bin/mkdir -p '/usr/local/include/thrift/server' /usr/bin/install -c -m 644 src/thrift/server/TConnectedClient.h src/thrift/server/TServer.h src/thrift/server/TServerFramework.h src/thrift/server/TSimpleServer.h src/thrift/server/TThreadPoolServer.h src/thrift/server/TThreadedServer.h src/thrift/server/TNonblockingServer.h '/usr/local/include/thrift/server' /bin/mkdir -p '/usr/local/include/thrift' /usr/bin/install -c -m 644 ../../config.h src/thrift/thrift-config.h src/thrift/TDispatchProcessor.h src/thrift/Thrift.h src/thrift/TOutput.h src/thrift/TProcessor.h src/thrift/TApplicationException.h src/thrift/TLogging.h src/thrift/cxxfunctional.h src/thrift/TToString.h '/usr/local/include/thrift' /bin/mkdir -p '/usr/local/include/thrift/transport' /usr/bin/install -c -m 644 src/thrift/transport/PlatformSocket.h src/thrift/transport/TFDTransport.h src/thrift/transport/TFileTransport.h src/thrift/transport/TSimpleFileTransport.h src/thrift/transport/TServerSocket.h src/thrift/transport/TSSLServerSocket.h src/thrift/transport/TServerTransport.h src/thrift/transport/THttpTransport.h src/thrift/transport/THttpClient.h src/thrift/transport/THttpServer.h src/thrift/transport/TSocket.h src/thrift/transport/TPipe.h src/thrift/transport/TPipeServer.h src/thrift/transport/TSSLSocket.h src/thrift/transport/TSocketPool.h src/thrift/transport/TVirtualTransport.h src/thrift/transport/TTransport.h src/thrift/transport/TTransportException.h src/thrift/transport/TTransportUtils.h src/thrift/transport/TBufferTransports.h src/thrift/transport/TShortReadTransport.h src/thrift/transport/TZlibTransport.h '/usr/local/include/thrift/transport' /bin/mkdir -p '/usr/local/lib/pkgconfig' /usr/bin/install -c -m 644 thrift.pc thrift-nb.pc thrift-z.pc '/usr/local/lib/pkgconfig' make[4]: Leaving directory '$thrift-git-project/lib/cpp' make[3]: Leaving directory '$thrift-git-project/lib/cpp' Making install in test make[3]: Entering directory '$thrift-git-project/lib/cpp/test' make install-am make[4]: Entering directory '$thrift-git-project/lib/cpp/test' make[5]: Entering directory '$thrift-git-project/lib/cpp/test' make[5]: Nothing to be done for 'install-exec-am'. make[5]: Nothing to be done for 'install-data-am'. make[5]: Leaving directory '$thrift-git-project/lib/cpp/test' make[4]: Leaving directory '$thrift-git-project/lib/cpp/test' make[3]: Leaving directory '$thrift-git-project/lib/cpp/test' make[2]: Leaving directory '$thrift-git-project/lib/cpp' make[2]: Entering directory '$thrift-git-project/lib' make[3]: Entering directory '$thrift-git-project/lib' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '$thrift-git-project/lib' make[2]: Leaving directory '$thrift-git-project/lib' make[1]: Leaving directory '$thrift-git-project/lib' Making install in test make[1]: Entering directory '$thrift-git-project/test' Making install in cpp make[2]: Entering directory '$thrift-git-project/test/cpp' make install-am make[3]: Entering directory '$thrift-git-project/test/cpp' make[4]: Entering directory '$thrift-git-project/test/cpp' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '$thrift-git-project/test/cpp' make[3]: Leaving directory '$thrift-git-project/test/cpp' make[2]: Leaving directory '$thrift-git-project/test/cpp' make[2]: Entering directory '$thrift-git-project/test' make[3]: Entering directory '$thrift-git-project/test' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '$thrift-git-project/test' make[2]: Leaving directory '$thrift-git-project/test' make[1]: Leaving directory '$thrift-git-project/test' Making install in tutorial make[1]: Entering directory '$thrift-git-project/tutorial' Making install in cpp make[2]: Entering directory '$thrift-git-project/tutorial/cpp' make install-am make[3]: Entering directory '$thrift-git-project/tutorial/cpp' make[4]: Entering directory '$thrift-git-project/tutorial/cpp' make[4]: Nothing to be done for 'install-exec-am'. make[4]: Nothing to be done for 'install-data-am'. make[4]: Leaving directory '$thrift-git-project/tutorial/cpp' make[3]: Leaving directory '$thrift-git-project/tutorial/cpp' make[2]: Leaving directory '$thrift-git-project/tutorial/cpp' make[2]: Entering directory '$thrift-git-project/tutorial' ../compiler/cpp/thrift --gen html -r ../tutorial/tutorial.thrift make[3]: Entering directory '$thrift-git-project/tutorial' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. make[3]: Leaving directory '$thrift-git-project/tutorial' make[2]: Leaving directory '$thrift-git-project/tutorial' make[1]: Leaving directory '$thrift-git-project/tutorial' make[1]: Entering directory '$thrift-git-project' make[2]: Entering directory '$thrift-git-project' make[2]: Nothing to be done for 'install-exec-am'. make[2]: Nothing to be done for 'install-data-am'. make[2]: Leaving directory '$thrift-git-project' make[1]: Leaving directory '$thrift-git-project' dean@dean-Aspire-S3-391:~/work/gitlab/nj/private/mine/study/thrift/thrift$

    Author: dean

    Created: 2015-12-14 一 13:41

    Validate

  • 上一篇数据分析的道与术
  • 顶 0 踩 0

    我的同类文章

    猜你在找

    查看评论

    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • ubuntu 14.04 安装 minidwep-gtk, aircrack-ng, reaver 搭建抓包环境 - 心

      ubuntu 14.04 安装 minidwep-gtk, aircrack-ng, reaver 搭建抓包环境

      2015-12-15 08:47

    网友点评