Ubuntu下thrift 0.9.3编译安装

Ubuntu下thrift 0.9.3编译安装

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

apt-get install automakeapt-get install libssl-devapt-get install byaccapt-get install bisonapt-get install flexapt-get install libevent-dev生成编译文件

cd thrift./bootstrap.shconfigure.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 ……… : yesBuilding C (GLib) Library …. : noBuilding Java Library …….. : noBuilding C# Library ………. : noBuilding Python Library …… : noBuilding Ruby Library …….. : noBuilding Haxe Library …….. : noBuilding Haskell Library ….. : noBuilding Perl Library …….. : noBuilding PHP Library ……… : noBuilding Erlang Library …… : noBuilding Go Library ………. : noBuilding D Library ……….. : noBuilding NodeJS Library …… : noBuilding 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 missingcomponent. Details are present in config.log.编译

make3 运行测试程序测试

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 90904 安装sudo make install

注意:

$thrift-git-project 是thrift gi项目所在目录库文件安装在/usr/lib目录下头文件安装在/usr/local/include/thrift目录下Making install in compiler/cppmake[1]: Entering directory ‘$thrift-git-project/compiler/cpp’make install-ammake[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/thriftmake[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 libmake[1]: Entering directory ‘$thrift-git-project/lib’Making install in cppmake[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.solibtool: 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.lalibtool: install: /usr/bin/install -c .libs/libthriftnb-0.9.3.so /usr/lib/libthriftnb-0.9.3.solibtool: 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.lalibtool: install: /usr/bin/install -c .libs/libthriftz-0.9.3.so /usr/lib/libthriftz-0.9.3.solibtool: 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.lalibtool: install: /usr/bin/install -c .libs/libthrift.a /usr/lib/libthrift.alibtool: install: chmod 644 /usr/lib/libthrift.alibtool: install: ranlib /usr/lib/libthrift.alibtool: install: /usr/bin/install -c .libs/libthriftnb.a /usr/lib/libthriftnb.alibtool: install: chmod 644 /usr/lib/libthriftnb.alibtool: install: ranlib /usr/lib/libthriftnb.alibtool: install: /usr/bin/install -c .libs/libthriftz.a /usr/lib/libthriftz.alibtool: install: chmod 644 /usr/lib/libthriftz.alibtool: install: ranlib /usr/lib/libthriftz.alibtool: finish: PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin” ldconfig -n /usr/lib———————————————————————-Libraries have been installed in: /usr/lib

If you ever happen to want to link against installed librariesin a given directory, LIBDIR, you must either use libtool, andspecify 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 formore 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/lib/pkgconfig’/usr/bin/install -c -m 644 thrift.pc thrift-nb.pc thrift-z.pc ‘/usr/lib/pkgconfig’make[4]: Leaving directory ‘$thrift-git-project/lib/cpp’make[3]: Leaving directory ‘$thrift-git-project/lib/cpp’Making install in testmake[3]: Entering directory ‘$thrift-git-project/lib/cpp/test’make install-ammake[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 testmake[1]: Entering directory ‘$thrift-git-project/test’Making install in cppmake[2]: Entering directory ‘$thrift-git-project/test/cpp’make install-ammake[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 tutorialmake[1]: Entering directory ‘$thrift-git-project/tutorial’Making install in cppmake[2]: Entering directory ‘$thrift-git-project/tutorial/cpp’make install-ammake[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.thriftmake[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’

Thrift使用实例 http://www.68idc.cn/Linux/2014-07/104313.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.68idc.cn/topicnews.aspx?tid=2

家!甜蜜的家!天下最美好的莫过於家

Ubuntu下thrift 0.9.3编译安装

相关文章:

你感兴趣的文章:

标签云: