zoukankan      html  css  js  c++  java
  • 安装thrift全过程

    为了研究基于thrift的RPC框架,其实,是想自己基于thrift写一个微服务的platform。首先就是安装Thrift,便于IDL架构生成java的接口文件。多的不说了,开始install的过程吧。

    我的机器,环境信息如下: 联想笔记本,Centos6.8的系统。

    步骤:

    1. 安装平台开发工具

    1 yum -y groupinstall "Development Tools"

    2. 安装autoconf

    1 wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
    2 tar xvf autoconf-2.69.tar.gz
    3 cd autoconf-2.69
    4 ./configure --prefix=/usr/local
    5 make
    6 make install

    3. 安装automake

    1 wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
    2 tar xvf automake-1.14.tar.gz
    3 cd automake-1.14
    4 ./configure --prefix=/usr/local
    5 make
    6 make install

    4. 安装bison

    1 wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
    2 tar xvf bison-2.5.1.tar.gz
    3 cd bison-2.5.1
    4 ./configure --prefix=/usr/local
    5 make
    6 make install

    5. 安装C++库依赖相关的开发包

    1 yum -y install libevent-devel zlib-devel openssl-devel

    6. 安装boost

    1 wget http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz
    2 tar xvf boost_1_53_0.tar.gz
    3 cd boost_1_53_0
    4 ./bootstrap.sh
    5 ./b2

    注意,按照上面这些步骤操作,是不会成功的,在安装boost过程中的最后一步,会出一大堆的错误,错误信息满屏幕的刷。。。。 好多关于gcc-c++相关的错误,还有就是python相关的错误。一顿帖子的研究,最终发现,是C++库以及依赖的安装有问题,基于上面的基础,再执行一下下面的操作补充安装一下依赖包:

    1 [root@CloudGame boost_1_53_0]# yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y

    再执行./bootstrap.sh以及./b2,就不再出错了,最终得到下面的report,表示boost安装成功:

     1 ..........................
     2 libs/python/src/object/function.cpp:108: warning: dereferencing type-punned pointer will break strict-aliasing rules
     3 libs/python/src/object/function.cpp:110: warning: dereferencing type-punned pointer will break strict-aliasing rules
     4 ./boost/python/refcount.hpp: In function ‘PyObject* boost::python::objects::function_get_class(PyObject*, void*)’:
     5 ./boost/python/refcount.hpp:16: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
     6 ./boost/python/refcount.hpp:16: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
     7 libs/python/src/object/function.cpp:671: note: initialized from here
     8 libs/python/src/object/function.cpp: In constructor ‘boost::python::objects::function::function(const boost::python::objects::py_function&, const boost::python::detail::keyword*, unsigned int)’:
     9 libs/python/src/object/function.cpp:108: warning: dereferencing pointer ‘function_type.311’ does break strict-aliasing rules
    10 libs/python/src/object/function.cpp:108: note: initialized from here
    11 libs/python/src/object/function.cpp:110: warning: dereferencing pointer ‘function_type.311’ does break strict-aliasing rules
    12 libs/python/src/object/function.cpp:110: note: initialized from here
    13 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/inheritance.o
    14 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/life_support.o
    15 libs/python/src/object/life_support.cpp: In function ‘PyObject* boost::python::objects::make_nurse_and_patient(PyObject*, PyObject*)’:
    16 libs/python/src/object/life_support.cpp:94: warning: dereferencing type-punned pointer will break strict-aliasing rules
    17 libs/python/src/object/life_support.cpp:96: warning: dereferencing type-punned pointer will break strict-aliasing rules
    18 libs/python/src/object/life_support.cpp:94: warning: dereferencing pointer ‘life_support_type.21’ does break strict-aliasing rules
    19 libs/python/src/object/life_support.cpp:94: note: initialized from here
    20 libs/python/src/object/life_support.cpp:96: warning: dereferencing pointer ‘life_support_type.21’ does break strict-aliasing rules
    21 libs/python/src/object/life_support.cpp:96: note: initialized from here
    22 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/pickle_support.o
    23 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/errors.o
    24 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/module.o
    25 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/converter/builtin_converters.o
    26 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/converter/arg_to_python_base.o
    27 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/iterator.o
    28 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/stl_iterator.o
    29 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object_protocol.o
    30 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object_operators.o
    31 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/wrapper.o
    32 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/import.o
    33 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/exec.o
    34 gcc.compile.c++ bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/object/function_doc_signature.o
    35 gcc.archive bin.v2/libs/python/build/gcc-4.4.7/release/link-static/threading-multi/libboost_python.a
    36 common.copy stage/lib/libboost_python.a
    37 ...updated 70 targets...
    38 
    39 
    40 The Boost C++ Libraries were successfully built!
    41 
    42 The following directory should be added to compiler include paths:
    43 
    44     /home/MyDownload/boost_1_53_0
    45 
    46 The following directory should be added to linker library paths:
    47 
    48     /home/MyDownload/boost_1_53_0/stage/lib

    7. 安装thirft compiler

    按照网上传遍大江南北的做法,我失败了,这个网上千篇一律的版本是这么干的:

    1 git clone https://git-wip-us.apache.org/repos/asf/thrift.git
    2 cd thrift
    3 ./bootstrap.sh
    4 ./configure --with-lua=no
    5 make
    6 make install

    我在./configure的时候就失败了,错误信息如下:

      1 [root@CloudGame thrift]# ./configure --with-lua=no
      2 checking for a BSD-compatible install... /usr/bin/install -c
      3 checking whether build environment is sane... yes
      4 checking for a thread-safe mkdir -p... /bin/mkdir -p
      5 checking for gawk... gawk
      6 checking whether make sets $(MAKE)... yes
      7 checking whether make supports nested variables... yes
      8 checking whether UID '0' is supported by ustar format... yes
      9 checking whether GID '0' is supported by ustar format... yes
     10 checking how to create a ustar tar archive... gnutar
     11 ./configure: line 3913: PKG_PROG_PKG_CONFIG: command not found
     12 checking for gcc... gcc
     13 checking whether the C compiler works... yes
     14 checking for C compiler default output file name... a.out
     15 checking for suffix of executables... 
     16 checking whether we are cross compiling... no
     17 checking for suffix of object files... o
     18 checking whether we are using the GNU C compiler... yes
     19 checking whether gcc accepts -g... yes
     20 checking for gcc option to accept ISO C89... none needed
     21 checking whether gcc understands -c and -o together... yes
     22 checking for style of include used by make... GNU
     23 checking dependency style of gcc... gcc3
     24 checking how to run the C preprocessor... gcc -E
     25 checking for g++... g++
     26 checking whether we are using the GNU C++ compiler... yes
     27 checking whether g++ accepts -g... yes
     28 checking dependency style of g++... gcc3
     29 checking build system type... x86_64-unknown-linux-gnu
     30 checking host system type... x86_64-unknown-linux-gnu
     31 checking for a sed that does not truncate output... /bin/sed
     32 checking for grep that handles long lines and -e... /bin/grep
     33 checking for egrep... /bin/grep -E
     34 checking for fgrep... /bin/grep -F
     35 checking for ld used by gcc... /usr/bin/ld
     36 checking if the linker (/usr/bin/ld) is GNU ld... yes
     37 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
     38 checking the name lister (/usr/bin/nm -B) interface... BSD nm
     39 checking whether ln -s works... yes
     40 checking the maximum length of command line arguments... 1966080
     41 checking whether the shell understands some XSI constructs... yes
     42 checking whether the shell understands "+="... yes
     43 checking for /usr/bin/ld option to reload object files... -r
     44 checking for objdump... objdump
     45 checking how to recognize dependent libraries... pass_all
     46 checking for ar... ar
     47 checking for strip... strip
     48 checking for ranlib... ranlib
     49 checking command to parse /usr/bin/nm -B output from gcc object... ok
     50 checking for ANSI C header files... yes
     51 checking for sys/types.h... yes
     52 checking for sys/stat.h... yes
     53 checking for stdlib.h... yes
     54 checking for string.h... yes
     55 checking for memory.h... yes
     56 checking for strings.h... yes
     57 checking for inttypes.h... yes
     58 checking for stdint.h... yes
     59 checking for unistd.h... yes
     60 checking for dlfcn.h... yes
     61 checking whether we are using the GNU C++ compiler... (cached) yes
     62 checking whether g++ accepts -g... (cached) yes
     63 checking dependency style of g++... (cached) gcc3
     64 checking how to run the C++ preprocessor... g++ -E
     65 checking for objdir... .libs
     66 checking if gcc supports -fno-rtti -fno-exceptions... no
     67 checking for gcc option to produce PIC... -fPIC -DPIC
     68 checking if gcc PIC flag -fPIC -DPIC works... yes
     69 checking if gcc static flag -static works... no
     70 checking if gcc supports -c -o file.o... yes
     71 checking if gcc supports -c -o file.o... (cached) yes
     72 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     73 checking whether -lc should be explicitly linked in... no
     74 checking dynamic linker characteristics... GNU/Linux ld.so
     75 checking how to hardcode library paths into programs... immediate
     76 checking whether stripping libraries is possible... yes
     77 checking if libtool supports shared libraries... yes
     78 checking whether to build shared libraries... yes
     79 checking whether to build static libraries... yes
     80 checking for ld used by g++... /usr/bin/ld -m elf_x86_64
     81 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
     82 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     83 checking for g++ option to produce PIC... -fPIC -DPIC
     84 checking if g++ PIC flag -fPIC -DPIC works... yes
     85 checking if g++ static flag -static works... no
     86 checking if g++ supports -c -o file.o... yes
     87 checking if g++ supports -c -o file.o... (cached) yes
     88 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     89 checking dynamic linker characteristics... GNU/Linux ld.so
     90 checking how to hardcode library paths into programs... immediate
     91 checking whether make sets $(MAKE)... (cached) yes
     92 checking for bison... yes
     93 checking for bison version >= 2.5... yes
     94 checking for bison... bison -y
     95 checking for flex... flex
     96 checking lex output file root... lex.yy
     97 checking lex library... none needed
     98 checking whether yytext is a pointer... no
     99 checking whether ln -s works... yes
    100 checking for gawk... (cached) gawk
    101 checking for ranlib... (cached) ranlib
    102 checking whether g++ supports C++11 features by default... no
    103 checking whether g++ supports C++11 features with -std=c++11... no
    104 checking whether g++ supports C++11 features with -std=c++0x... no
    105 configure: No compiler with C++11 support was found
    106 ./configure: line 17120: syntax error near unexpected token `QT,'
    107 ./configure: line 17120: `    PKG_CHECK_MODULES(QT, QtCore >= 4.3, QtNetwork >= 4.3, have_qt=yes, have_qt=no)'

    研究了下那个configure文件,太长了,没有深入调研,转而去http://thrift.apache.org/tutorial/ 网站找技术支持,发现哪儿有点信息,于是我重新搞了一边。

    先下载thrift 0.9.3版本:

    1 wget http://apache.fayea.com/thrift/0.9.3/thrift-0.9.3.tar.gz

    然后,解压并执行./configure --with-lua=no,得到下面的信息:

      1 [root@CloudGame thrift-0.9.3]# ./configure --with-lua=no
      2 checking for a BSD-compatible install... /usr/bin/install -c
      3 checking whether build environment is sane... yes
      4 checking for a thread-safe mkdir -p... /bin/mkdir -p
      5 checking for gawk... gawk
      6 checking whether make sets $(MAKE)... yes
      7 checking whether make supports nested variables... yes
      8 checking whether UID '0' is supported by ustar format... yes
      9 checking whether GID '0' is supported by ustar format... yes
     10 checking how to create a ustar tar archive... gnutar
     11 checking for pkg-config... /usr/bin/pkg-config
     12 checking pkg-config is at least version 0.9.0... yes
     13 checking for gcc... gcc
     14 checking whether the C compiler works... yes
     15 checking for C compiler default output file name... a.out
     16 checking for suffix of executables... 
     17 checking whether we are cross compiling... no
     18 checking for suffix of object files... o
     19 checking whether we are using the GNU C compiler... yes
     20 checking whether gcc accepts -g... yes
     21 checking for gcc option to accept ISO C89... none needed
     22 checking whether gcc understands -c and -o together... yes
     23 checking for style of include used by make... GNU
     24 checking dependency style of gcc... gcc3
     25 checking how to run the C preprocessor... gcc -E
     26 checking for g++... g++
     27 checking whether we are using the GNU C++ compiler... yes
     28 checking whether g++ accepts -g... yes
     29 checking dependency style of g++... gcc3
     30 checking build system type... x86_64-unknown-linux-gnu
     31 checking host system type... x86_64-unknown-linux-gnu
     32 checking how to print strings... printf
     33 checking for a sed that does not truncate output... /bin/sed
     34 checking for grep that handles long lines and -e... /bin/grep
     35 checking for egrep... /bin/grep -E
     36 checking for fgrep... /bin/grep -F
     37 checking for ld used by gcc... /usr/bin/ld
     38 checking if the linker (/usr/bin/ld) is GNU ld... yes
     39 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
     40 checking the name lister (/usr/bin/nm -B) interface... BSD nm
     41 checking whether ln -s works... yes
     42 checking the maximum length of command line arguments... 1966080
     43 checking whether the shell understands some XSI constructs... yes
     44 checking whether the shell understands "+="... yes
     45 checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
     46 checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
     47 checking for /usr/bin/ld option to reload object files... -r
     48 checking for objdump... objdump
     49 checking how to recognize dependent libraries... pass_all
     50 checking for dlltool... no
     51 checking how to associate runtime and link libraries... printf %s
    
     52 checking for ar... ar
     53 checking for archiver @FILE support... @
     54 checking for strip... strip
     55 checking for ranlib... ranlib
     56 checking command to parse /usr/bin/nm -B output from gcc object... ok
     57 checking for sysroot... no
     58 checking for mt... no
     59 checking if : is a manifest tool... no
     60 checking for ANSI C header files... yes
     61 checking for sys/types.h... yes
     62 checking for sys/stat.h... yes
     63 checking for stdlib.h... yes
     64 checking for string.h... yes
     65 checking for memory.h... yes
     66 checking for strings.h... yes
     67 checking for inttypes.h... yes
     68 checking for stdint.h... yes
     69 checking for unistd.h... yes
     70 checking for dlfcn.h... yes
     71 checking for objdir... .libs
     72 checking if gcc supports -fno-rtti -fno-exceptions... no
     73 checking for gcc option to produce PIC... -fPIC -DPIC
     74 checking if gcc PIC flag -fPIC -DPIC works... yes
     75 checking if gcc static flag -static works... no
     76 checking if gcc supports -c -o file.o... yes
     77 checking if gcc supports -c -o file.o... (cached) yes
     78 checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     79 checking whether -lc should be explicitly linked in... no
     80 checking dynamic linker characteristics... GNU/Linux ld.so
     81 checking how to hardcode library paths into programs... immediate
     82 checking whether stripping libraries is possible... yes
     83 checking if libtool supports shared libraries... yes
     84 checking whether to build shared libraries... yes
     85 checking whether to build static libraries... yes
     86 checking how to run the C++ preprocessor... g++ -E
     87 checking for ld used by g++... /usr/bin/ld -m elf_x86_64
     88 checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
     89 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     90 checking for g++ option to produce PIC... -fPIC -DPIC
     91 checking if g++ PIC flag -fPIC -DPIC works... yes
     92 checking if g++ static flag -static works... no
     93 checking if g++ supports -c -o file.o... yes
     94 checking if g++ supports -c -o file.o... (cached) yes
     95 checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
     96 checking dynamic linker characteristics... (cached) GNU/Linux ld.so
     97 checking how to hardcode library paths into programs... immediate
     98 checking whether make sets $(MAKE)... (cached) yes
     99 checking for bison... yes
    100 checking for bison version >= 2.5... yes
    101 checking for bison... bison -y
    102 checking for flex... flex
    103 checking lex output file root... lex.yy
    104 checking lex library... none needed
    105 checking whether yytext is a pointer... no
    106 checking whether ln -s works... yes
    107 checking for gawk... (cached) gawk
    108 checking for ranlib... (cached) ranlib
    109 checking whether g++ supports C++11 features by default... no
    110 checking whether g++ supports C++11 features with -std=c++11... no
    111 checking whether g++ supports C++11 features with -std=c++0x... no
    112 configure: No compiler with C++11 support was found
    113 checking for boostlib >= 1.53.0... yes
    114 checking for pkg-config... /usr/bin/pkg-config
    115 checking whether compiling and linking against OpenSSL works... yes
    116 checking for libevent >= 1.0... yes
    117 checking for zlib >= 1.2.3... yes
    118 checking for QT... yes
    119 checking for moc-qt4... /usr/bin/moc-qt4
    120 checking for QT5... no
    121 checking for GLIB... yes
    122 checking for GOBJECT... yes
    123 checking for MONO... no
    124 checking for MONO... no
    125 checking for MONO... no
    126 checking for javac and java... yes
    127 checking for ant... no
    128 checking for ant version > 1.7... expr: syntax error
    129 no
    130 checking for erl... no
    131 checking for erlc... no
    132 checking for nodejs... no
    133 checking for node... no
    134 checking for npm... no
    135 checking for trial... no
    136 checking for a Python interpreter with version >= 2.4... python
    137 checking for python... /usr/bin/python
    138 checking for python version... 2.6
    139 checking for python platform... linux2
    140 checking for python script directory... ${prefix}/lib/python2.6/site-packages
    141 checking for python extension module directory... ${exec_prefix}/lib64/python2.6/site-packages
    142 checking for perl... /usr/bin/perl
    143 checking for perl module Bit::Vector... no
    144 checking for perl module Class::Accessor... no
    145 checking for php... no
    146 checking for phpunit... no
    147 checking for ruby... no
    148 checking for bundle... no
    149 checking for cabal... no
    150 checking for runhaskell... no
    151 checking for go... no
    152 checking for haxe... no
    153 checking for DMD... no
    154 checking for library containing strerror... none required
    155 checking for an ANSI C-conforming const... yes
    156 checking for inline... inline
    157 checking for working volatile... yes
    158 checking for stdbool.h that conforms to C99... yes
    159 checking for _Bool... no
    160 checking for ANSI C header files... (cached) yes
    161 checking whether time.h and sys/time.h may both be included... yes
    162 checking for sys/wait.h that is POSIX.1 compatible... yes
    163 checking return type of signal handlers... void
    164 checking arpa/inet.h usability... yes
    165 checking arpa/inet.h presence... yes
    166 checking for arpa/inet.h... yes
    167 checking sys/param.h usability... yes
    168 checking sys/param.h presence... yes
    169 checking for sys/param.h... yes
    170 checking fcntl.h usability... yes
    171 checking fcntl.h presence... yes
    172 checking for fcntl.h... yes
    173 checking for inttypes.h... (cached) yes
    174 checking limits.h usability... yes
    175 checking limits.h presence... yes
    176 checking for limits.h... yes
    177 checking netdb.h usability... yes
    178 checking netdb.h presence... yes
    179 checking for netdb.h... yes
    180 checking netinet/in.h usability... yes
    181 checking netinet/in.h presence... yes
    182 checking for netinet/in.h... yes
    183 checking pthread.h usability... yes
    184 checking pthread.h presence... yes
    185 checking for pthread.h... yes
    186 checking stddef.h usability... yes
    187 checking stddef.h presence... yes
    188 checking for stddef.h... yes
    189 checking for stdlib.h... (cached) yes
    190 checking sys/socket.h usability... yes
    191 checking sys/socket.h presence... yes
    192 checking for sys/socket.h... yes
    193 checking sys/time.h usability... yes
    194 checking sys/time.h presence... yes
    195 checking for sys/time.h... yes
    196 checking sys/un.h usability... yes
    197 checking sys/un.h presence... yes
    198 checking for sys/un.h... yes
    199 checking sys/poll.h usability... yes
    200 checking sys/poll.h presence... yes
    201 checking for sys/poll.h... yes
    202 checking sys/resource.h usability... yes
    203 checking sys/resource.h presence... yes
    204 checking for sys/resource.h... yes
    205 checking for unistd.h... (cached) yes
    206 checking libintl.h usability... yes
    207 checking libintl.h presence... yes
    208 checking for libintl.h... yes
    209 checking malloc.h usability... yes
    210 checking malloc.h presence... yes
    211 checking for malloc.h... yes
    212 checking openssl/ssl.h usability... yes
    213 checking openssl/ssl.h presence... yes
    214 checking for openssl/ssl.h... yes
    215 checking openssl/rand.h usability... yes
    216 checking openssl/rand.h presence... yes
    217 checking for openssl/rand.h... yes
    218 checking openssl/x509v3.h usability... yes
    219 checking openssl/x509v3.h presence... yes
    220 checking for openssl/x509v3.h... yes
    221 checking sched.h usability... yes
    222 checking sched.h presence... yes
    223 checking for sched.h... yes
    224 checking wchar.h usability... yes
    225 checking wchar.h presence... yes
    226 checking for wchar.h... yes
    227 checking for pthread_create in -lpthread... yes
    228 checking for clock_gettime in -lrt... yes
    229 checking for setsockopt in -lsocket... no
    230 checking for BN_init in -lcrypto... yes
    231 checking for SSL_ctrl in -lssl... yes
    232 checking for int16_t... yes
    233 checking for int32_t... yes
    234 checking for int64_t... yes
    235 checking for int8_t... yes
    236 checking for mode_t... yes
    237 checking for off_t... yes
    238 checking for size_t... yes
    239 checking for ssize_t... yes
    240 checking for uint16_t... yes
    241 checking for uint32_t... yes
    242 checking for uint64_t... yes
    243 checking for uint8_t... yes
    244 checking for ptrdiff_t... yes
    245 checking whether struct tm is in sys/time.h or time.h... time.h
    246 checking whether AI_ADDRCONFIG is declared... yes
    247 checking for working alloca.h... yes
    248 checking for alloca... yes
    249 checking for pid_t... yes
    250 checking vfork.h usability... no
    251 checking vfork.h presence... no
    252 checking for vfork.h... no
    253 checking for fork... yes
    254 checking for vfork... yes
    255 checking for working fork... yes
    256 checking for working vfork... (cached) yes
    257 checking for stdlib.h... (cached) yes
    258 checking for GNU libc compatible malloc... yes
    259 checking for working memcmp... yes
    260 checking for stdlib.h... (cached) yes
    261 checking for GNU libc compatible realloc... yes
    262 checking sys/select.h usability... yes
    263 checking sys/select.h presence... yes
    264 checking for sys/select.h... yes
    265 checking for sys/socket.h... (cached) yes
    266 checking types of arguments for select... int,fd_set *,struct timeval *
    267 checking whether lstat correctly handles trailing slash... yes
    268 checking whether stat accepts an empty string... no
    269 checking whether strerror_r is declared... yes
    270 checking for strerror_r... yes
    271 checking whether strerror_r returns char *... yes
    272 checking for strftime... yes
    273 checking for vprintf... yes
    274 checking for _doprnt... no
    275 checking for strtoul... yes
    276 checking for bzero... yes
    277 checking for ftruncate... yes
    278 checking for gethostbyname... yes
    279 checking for gethostbyname_r... yes
    280 checking for gettimeofday... yes
    281 checking for memmove... yes
    282 checking for memset... yes
    283 checking for mkdir... yes
    284 checking for realpath... yes
    285 checking for select... yes
    286 checking for setlocale... yes
    287 checking for socket... yes
    288 checking for strchr... yes
    289 checking for strdup... yes
    290 checking for strerror... yes
    291 checking for strstr... yes
    292 checking for strtol... yes
    293 checking for sqrt... yes
    294 checking for alarm... yes
    295 checking for clock_gettime... yes
    296 checking for sched_get_priority_min... yes
    297 checking for sched_get_priority_max... yes
    298 checking for inet_ntoa... yes
    299 checking for pow... yes
    300 checking the behavior of a signed right shift... arithmetic
    301 checking that generated files are newer than configure... done
    302 configure: creating ./config.status
    303 config.status: creating Makefile
    304 config.status: creating compiler/cpp/Makefile
    305 config.status: creating compiler/cpp/version.h
    306 config.status: creating compiler/cpp/src/windows/version.h
    307 config.status: creating lib/Makefile
    308 config.status: creating lib/cpp/Makefile
    309 config.status: creating lib/cpp/test/Makefile
    310 config.status: creating lib/cpp/thrift-nb.pc
    311 config.status: creating lib/cpp/thrift-z.pc
    312 config.status: creating lib/cpp/thrift-qt.pc
    313 config.status: creating lib/cpp/thrift-qt5.pc
    314 config.status: creating lib/cpp/thrift.pc
    315 config.status: creating lib/c_glib/Makefile
    316 config.status: creating lib/c_glib/thrift_c_glib.pc
    317 config.status: creating lib/c_glib/test/Makefile
    318 config.status: creating lib/csharp/Makefile
    319 config.status: creating lib/csharp/test/ThriftTest/Makefile
    320 config.status: creating lib/d/Makefile
    321 config.status: creating lib/d/test/Makefile
    322 config.status: creating lib/erl/Makefile
    323 config.status: creating lib/go/Makefile
    324 config.status: creating lib/go/test/Makefile
    325 config.status: creating lib/haxe/test/Makefile
    326 config.status: creating lib/hs/Makefile
    327 config.status: creating lib/java/Makefile
    328 config.status: creating lib/js/test/Makefile
    329 config.status: creating lib/nodejs/Makefile
    330 config.status: creating lib/perl/Makefile
    331 config.status: creating lib/perl/test/Makefile
    332 config.status: creating lib/php/Makefile
    333 config.status: creating lib/php/test/Makefile
    334 config.status: creating lib/py/Makefile
    335 config.status: creating lib/rb/Makefile
    336 config.status: creating lib/lua/Makefile
    337 config.status: creating test/Makefile
    338 config.status: creating test/c_glib/Makefile
    339 config.status: creating test/cpp/Makefile
    340 config.status: creating test/erl/Makefile
    341 config.status: creating test/go/Makefile
    342 config.status: creating test/haxe/Makefile
    343 config.status: creating test/hs/Makefile
    344 config.status: creating test/php/Makefile
    345 config.status: creating test/perl/Makefile
    346 config.status: creating test/py/Makefile
    347 config.status: creating test/py.twisted/Makefile
    348 config.status: creating test/py.tornado/Makefile
    349 config.status: creating test/rb/Makefile
    350 config.status: creating tutorial/Makefile
    351 config.status: creating tutorial/c_glib/Makefile
    352 config.status: creating tutorial/cpp/Makefile
    353 config.status: creating tutorial/go/Makefile
    354 config.status: creating tutorial/haxe/Makefile
    355 config.status: creating tutorial/hs/Makefile
    356 config.status: creating tutorial/java/Makefile
    357 config.status: creating tutorial/js/Makefile
    358 config.status: creating tutorial/nodejs/Makefile
    359 config.status: creating tutorial/py/Makefile
    360 config.status: creating tutorial/py.twisted/Makefile
    361 config.status: creating tutorial/py.tornado/Makefile
    362 config.status: creating tutorial/rb/Makefile
    363 config.status: creating config.h
    364 config.status: creating lib/cpp/src/thrift/config.h
    365 config.status: executing depfiles commands
    366 config.status: executing libtool commands
    367 
    368 thrift 0.9.3
    369 
    370 Building C++ Library ......... : yes
    371 Building C (GLib) Library .... : yes
    372 Building Java Library ........ : no
    373 Building C# Library .......... : no
    374 Building Python Library ...... : no
    375 Building Ruby Library ........ : no
    376 Building Haxe Library ........ : no
    377 Building Haskell Library ..... : no
    378 Building Perl Library ........ : no
    379 Building PHP Library ......... : no
    380 Building Erlang Library ...... : no
    381 Building Go Library .......... : no
    382 Building D Library ........... : no
    383 Building NodeJS Library ...... : no
    384 Building Lua Library ......... : no
    385 
    386 C++ Library:
    387    Build TZlibTransport ...... : yes
    388    Build TNonblockingServer .. : yes
    389    Build TQTcpServer (Qt4) .... : yes
    390    Build TQTcpServer (Qt5) .... : no
    391 
    392 If something is missing that you think should be present,
    393 please skim the output of configure to find the missing
    394 component.  Details are present in config.log.

    这个看上去,是不是很nice。。。废话不多说,继续往下走。。。 执行make

     1 ./src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
     2 ./src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
     3 ./src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
     4 ./src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
     5 ./src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
     6 In file included from ./src/thrift/server/TNonblockingServer.h:28,
     7                  from src/thrift/server/TNonblockingServer.cpp:24:
     8 ./src/thrift/concurrency/ThreadManager.h:150:38: warning: use of C99 long long integer constant
     9 ./src/thrift/concurrency/ThreadManager.h:151:41: warning: use of C99 long long integer constant
    10 In file included from src/thrift/server/TNonblockingServer.cpp:24:
    11 ./src/thrift/server/TNonblockingServer.h:41:33: error: event2/event_compat.h: No such file or directory
    12 ./src/thrift/server/TNonblockingServer.h:42:33: error: event2/event_struct.h: No such file or directory
    13 ./src/thrift/server/TNonblockingServer.h:432:31: warning: use of C99 long long integer constant
    14 make[4]: *** [src/thrift/server/libthriftnb_la-TNonblockingServer.lo] Error 1
    15 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
    16 make[3]: *** [all-recursive] Error 1
    17 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
    18 make[2]: *** [all-recursive] Error 1
    19 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib'
    20 make[1]: *** [all-recursive] Error 1
    21 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3'
    22 make: *** [all] Error 2

    还是报错,找不到event2的头文件,这个看上去像是没有libevent相关的东西,继续去官网找找找。。。看http://libevent.org/ 我下载了https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz这个版本,最新的稳定版。

    解压,然后:

    1 ./configure --prefix=/usr/local
    2 make
    3 make install

    再继续执行thrift的make。。。耐心点,会花点时间哟

     1 ...............
     2 ../../lib/cpp/src/thrift/TLogging.h:61:32: warning: anonymous variadic macros were introduced in C99
     3 ../../lib/cpp/src/thrift/TLogging.h:87:34: warning: anonymous variadic macros were introduced in C99
     4 ../../lib/cpp/src/thrift/TLogging.h:97:41: warning: anonymous variadic macros were introduced in C99
     5 ../../lib/cpp/src/thrift/TLogging.h:107:32: warning: anonymous variadic macros were introduced in C99
     6 ../../lib/cpp/src/thrift/TLogging.h:128:38: warning: anonymous variadic macros were introduced in C99
     7 ../../lib/cpp/src/thrift/TLogging.h:150:35: warning: anonymous variadic macros were introduced in C99
     8 In file included from ../../lib/cpp/src/thrift/protocol/TBinaryProtocol.h:23,
     9                  from CppClient.cpp:22:
    10 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    11 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    12 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    13 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    14 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    15 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    16 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    17 ../../lib/cpp/src/thrift/protocol/TProtocol.h:613:65: warning: use of C99 long long integer constant
    18 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    19 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    20 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    21 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    22 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    23 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    24 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    25 ../../lib/cpp/src/thrift/protocol/TProtocol.h:616:65: warning: use of C99 long long integer constant
    26 In file included from ../../lib/cpp/src/thrift/transport/TFileTransport.h:34,
    27                  from ../../lib/cpp/src/thrift/transport/TTransportUtils.h:30,
    28                  from CppClient.cpp:24:
    29 ../../lib/cpp/src/thrift/concurrency/Monitor.h:103:34: warning: use of C99 long long integer constant
    30 /bin/sh ../../libtool  --tag=CXX   --mode=link g++ -Wall -Wextra -pedantic -g -O2 -L/usr/local/lib   -o TutorialClient CppClient.o libtutorialgencpp.la ../../lib/cpp/libthrift.la -lssl -lcrypto -lrt -lpthread 
    31 libtool: link: g++ -Wall -Wextra -pedantic -g -O2 -o .libs/TutorialClient CppClient.o  -L/usr/local/lib ./.libs/libtutorialgencpp.a /home/MyDownload/thrift-0.9.3/lib/cpp/.libs/libthrift.so ../../lib/cpp/.libs/libthrift.so -lssl -lcrypto -lrt -lpthread -Wl,-rpath -Wl,/usr/local/lib
    32 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    33 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    34 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial'
    35 ../compiler/cpp/thrift --gen html -r ../tutorial/tutorial.thrift
    36 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial'
    37 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial'
    38 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3'
    39 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3'
    40 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3'

    这次,看到了make成功的信息了,最后安装一下。

      1 [root@CloudGame thrift-0.9.3]# make install
      2 Making install in compiler/cpp
      3 make[1]: Entering directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
      4 make  install-am
      5 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
      6 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
      7  /bin/mkdir -p '/usr/local/bin'
      8   /bin/sh ../../libtool   --mode=install /usr/bin/install -c thrift '/usr/local/bin'
      9 libtool: install: /usr/bin/install -c thrift /usr/local/bin/thrift
     10 make[3]: Nothing to be done for `install-data-am'.
     11 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
     12 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
     13 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3/compiler/cpp'
     14 Making install in lib
     15 make[1]: Entering directory `/home/MyDownload/thrift-0.9.3/lib'
     16 Making install in cpp
     17 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     18 Making install in .
     19 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     20 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     21  /bin/mkdir -p '/usr/local/lib'
     22  /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libthrift.la libthriftnb.la libthriftz.la libthriftqt.la '/usr/local/lib'
     23 libtool: install: /usr/bin/install -c .libs/libthrift-0.9.3.so /usr/local/lib/libthrift-0.9.3.so
     24 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; }; })
     25 libtool: install: /usr/bin/install -c .libs/libthrift.lai /usr/local/lib/libthrift.la
     26 libtool: install: /usr/bin/install -c .libs/libthriftnb-0.9.3.so /usr/local/lib/libthriftnb-0.9.3.so
     27 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; }; })
     28 libtool: install: /usr/bin/install -c .libs/libthriftnb.lai /usr/local/lib/libthriftnb.la
     29 libtool: install: /usr/bin/install -c .libs/libthriftz-0.9.3.so /usr/local/lib/libthriftz-0.9.3.so
     30 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; }; })
     31 libtool: install: /usr/bin/install -c .libs/libthriftz.lai /usr/local/lib/libthriftz.la
     32 libtool: install: /usr/bin/install -c .libs/libthriftqt-0.9.3.so /usr/local/lib/libthriftqt-0.9.3.so
     33 libtool: install: (cd /usr/local/lib && { ln -s -f libthriftqt-0.9.3.so libthriftqt.so || { rm -f libthriftqt.so && ln -s libthriftqt-0.9.3.so libthriftqt.so; }; })
     34 libtool: install: /usr/bin/install -c .libs/libthriftqt.lai /usr/local/lib/libthriftqt.la
     35 libtool: install: /usr/bin/install -c .libs/libthrift.a /usr/local/lib/libthrift.a
     36 libtool: install: chmod 644 /usr/local/lib/libthrift.a
     37 libtool: install: ranlib /usr/local/lib/libthrift.a
     38 libtool: install: /usr/bin/install -c .libs/libthriftnb.a /usr/local/lib/libthriftnb.a
     39 libtool: install: chmod 644 /usr/local/lib/libthriftnb.a
     40 libtool: install: ranlib /usr/local/lib/libthriftnb.a
     41 libtool: install: /usr/bin/install -c .libs/libthriftz.a /usr/local/lib/libthriftz.a
     42 libtool: install: chmod 644 /usr/local/lib/libthriftz.a
     43 libtool: install: ranlib /usr/local/lib/libthriftz.a
     44 libtool: install: /usr/bin/install -c .libs/libthriftqt.a /usr/local/lib/libthriftqt.a
     45 libtool: install: chmod 644 /usr/local/lib/libthriftqt.a
     46 libtool: install: ranlib /usr/local/lib/libthriftqt.a
     47 libtool: finish: PATH="/usr/java/jdk1.7.0_79/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/apache-maven-3.3.9/bin:/home/water/bin:/sbin" ldconfig -n /usr/local/lib
     48 ----------------------------------------------------------------------
     49 Libraries have been installed in:
     50    /usr/local/lib
     51 
     52 If you ever happen to want to link against installed libraries
     53 in a given directory, LIBDIR, you must either use libtool, and
     54 specify the full pathname of the library, or use the `-LLIBDIR'
     55 flag during linking and do at least one of the following:
     56    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     57      during execution
     58    - add LIBDIR to the `LD_RUN_PATH' environment variable
     59      during linking
     60    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
     61    - have your system administrator add LIBDIR to `/etc/ld.so.conf'
     62 
     63 See any operating system documentation about shared libraries for
     64 more information, such as the ld(1) and ld.so(8) manual pages.
     65 ----------------------------------------------------------------------
     66  /bin/mkdir -p '/usr/local/include/thrift/async'
     67  /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'
     68  /bin/mkdir -p '/usr/local/include/thrift/concurrency'
     69  /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'
     70  /bin/mkdir -p '/usr/local/include/thrift/processor'
     71  /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'
     72  /bin/mkdir -p '/usr/local/include/thrift/protocol'
     73  /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'
     74  /bin/mkdir -p '/usr/local/include/thrift/qt'
     75  /usr/bin/install -c -m 644 src/thrift/qt/TQIODeviceTransport.h src/thrift/qt/TQTcpServer.h '/usr/local/include/thrift/qt'
     76  /bin/mkdir -p '/usr/local/include/thrift/server'
     77  /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'
     78  /bin/mkdir -p '/usr/local/include/thrift'
     79  /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'
     80  /bin/mkdir -p '/usr/local/include/thrift/transport'
     81  /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'
     82  /bin/mkdir -p '/usr/local/lib/pkgconfig'
     83  /usr/bin/install -c -m 644 thrift.pc thrift-nb.pc thrift-z.pc thrift-qt.pc '/usr/local/lib/pkgconfig'
     84 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     85 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     86 Making install in test
     87 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     88 make  install-am
     89 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     90 make[5]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     91 make[5]: Nothing to be done for `install-exec-am'.
     92 make[5]: Nothing to be done for `install-data-am'.
     93 make[5]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     94 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     95 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp/test'
     96 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/cpp'
     97 Making install in c_glib
     98 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
     99 Making install in .
    100 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
    101 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
    102  /bin/mkdir -p '/usr/local/lib'
    103  /bin/sh ../../libtool   --mode=install /usr/bin/install -c   libthrift_c_glib.la '/usr/local/lib'
    104 libtool: install: /usr/bin/install -c .libs/libthrift_c_glib.so.0.0.0 /usr/local/lib/libthrift_c_glib.so.0.0.0
    105 libtool: install: (cd /usr/local/lib && { ln -s -f libthrift_c_glib.so.0.0.0 libthrift_c_glib.so.0 || { rm -f libthrift_c_glib.so.0 && ln -s libthrift_c_glib.so.0.0.0 libthrift_c_glib.so.0; }; })
    106 libtool: install: (cd /usr/local/lib && { ln -s -f libthrift_c_glib.so.0.0.0 libthrift_c_glib.so || { rm -f libthrift_c_glib.so && ln -s libthrift_c_glib.so.0.0.0 libthrift_c_glib.so; }; })
    107 libtool: install: /usr/bin/install -c .libs/libthrift_c_glib.lai /usr/local/lib/libthrift_c_glib.la
    108 libtool: install: /usr/bin/install -c .libs/libthrift_c_glib.a /usr/local/lib/libthrift_c_glib.a
    109 libtool: install: chmod 644 /usr/local/lib/libthrift_c_glib.a
    110 libtool: install: ranlib /usr/local/lib/libthrift_c_glib.a
    111 libtool: finish: PATH="/usr/java/jdk1.7.0_79/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/apache-maven-3.3.9/bin:/home/water/bin:/sbin" ldconfig -n /usr/local/lib
    112 ----------------------------------------------------------------------
    113 Libraries have been installed in:
    114    /usr/local/lib
    115 
    116 If you ever happen to want to link against installed libraries
    117 in a given directory, LIBDIR, you must either use libtool, and
    118 specify the full pathname of the library, or use the `-LLIBDIR'
    119 flag during linking and do at least one of the following:
    120    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
    121      during execution
    122    - add LIBDIR to the `LD_RUN_PATH' environment variable
    123      during linking
    124    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
    125    - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    126 
    127 See any operating system documentation about shared libraries for
    128 more information, such as the ld(1) and ld.so(8) manual pages.
    129 ----------------------------------------------------------------------
    130  /bin/mkdir -p '/usr/local/include/thrift/c_glib/processor'
    131  /usr/bin/install -c -m 644 src/thrift/c_glib/processor/thrift_processor.h src/thrift/c_glib/processor/thrift_dispatch_processor.h '/usr/local/include/thrift/c_glib/processor'
    132  /bin/mkdir -p '/usr/local/include/thrift/c_glib/protocol'
    133  /usr/bin/install -c -m 644 src/thrift/c_glib/protocol/thrift_protocol.h src/thrift/c_glib/protocol/thrift_protocol_factory.h src/thrift/c_glib/protocol/thrift_binary_protocol.h src/thrift/c_glib/protocol/thrift_binary_protocol_factory.h '/usr/local/include/thrift/c_glib/protocol'
    134  /bin/mkdir -p '/usr/local/include/thrift/c_glib/server'
    135  /usr/bin/install -c -m 644 src/thrift/c_glib/server/thrift_server.h src/thrift/c_glib/server/thrift_simple_server.h '/usr/local/include/thrift/c_glib/server'
    136  /bin/mkdir -p '/usr/local/include/thrift/c_glib'
    137  /usr/bin/install -c -m 644 ../../config.h src/thrift/c_glib/thrift.h src/thrift/c_glib/thrift_application_exception.h src/thrift/c_glib/thrift_struct.h '/usr/local/include/thrift/c_glib'
    138  /bin/mkdir -p '/usr/local/include/thrift/c_glib/transport'
    139  /usr/bin/install -c -m 644 src/thrift/c_glib/transport/thrift_buffered_transport.h src/thrift/c_glib/transport/thrift_framed_transport.h src/thrift/c_glib/transport/thrift_memory_buffer.h src/thrift/c_glib/transport/thrift_server_socket.h src/thrift/c_glib/transport/thrift_server_transport.h src/thrift/c_glib/transport/thrift_socket.h src/thrift/c_glib/transport/thrift_transport.h src/thrift/c_glib/transport/thrift_transport_factory.h src/thrift/c_glib/transport/thrift_buffered_transport_factory.h src/thrift/c_glib/transport/thrift_framed_transport_factory.h '/usr/local/include/thrift/c_glib/transport'
    140  /bin/mkdir -p '/usr/local/lib/pkgconfig'
    141  /usr/bin/install -c -m 644 thrift_c_glib.pc '/usr/local/lib/pkgconfig'
    142 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
    143 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
    144 Making install in test
    145 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    146 make  install-recursive
    147 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    148 make[5]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    149 make[6]: Entering directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    150 make[6]: Nothing to be done for `install-exec-am'.
    151 make[6]: Nothing to be done for `install-data-am'.
    152 make[6]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    153 make[5]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    154 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    155 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib/test'
    156 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib/c_glib'
    157 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/lib'
    158 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/lib'
    159 make[3]: Nothing to be done for `install-exec-am'.
    160 make[3]: Nothing to be done for `install-data-am'.
    161 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib'
    162 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib'
    163 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3/lib'
    164 Making install in test
    165 make[1]: Entering directory `/home/MyDownload/thrift-0.9.3/test'
    166 Making install in c_glib
    167 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/test/c_glib'
    168 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/test/c_glib'
    169 make[3]: Nothing to be done for `install-exec-am'.
    170 make[3]: Nothing to be done for `install-data-am'.
    171 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/test/c_glib'
    172 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/test/c_glib'
    173 Making install in cpp
    174 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    175 make  install-am
    176 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    177 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    178 make[4]: Nothing to be done for `install-exec-am'.
    179 make[4]: Nothing to be done for `install-data-am'.
    180 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    181 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    182 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/test/cpp'
    183 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/test'
    184 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/test'
    185 make[3]: Nothing to be done for `install-exec-am'.
    186 make[3]: Nothing to be done for `install-data-am'.
    187 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/test'
    188 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/test'
    189 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3/test'
    190 Making install in tutorial
    191 make[1]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial'
    192 Making install in c_glib
    193 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    194 make  install-am
    195 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    196 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    197 make[4]: Nothing to be done for `install-exec-am'.
    198 make[4]: Nothing to be done for `install-data-am'.
    199 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    200 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    201 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/c_glib'
    202 Making install in cpp
    203 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    204 make  install-am
    205 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    206 make[4]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    207 make[4]: Nothing to be done for `install-exec-am'.
    208 make[4]: Nothing to be done for `install-data-am'.
    209 make[4]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    210 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    211 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial/cpp'
    212 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial'
    213 ../compiler/cpp/thrift --gen html -r ../tutorial/tutorial.thrift
    214 make[3]: Entering directory `/home/MyDownload/thrift-0.9.3/tutorial'
    215 make[3]: Nothing to be done for `install-exec-am'.
    216 make[3]: Nothing to be done for `install-data-am'.
    217 make[3]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial'
    218 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial'
    219 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3/tutorial'
    220 make[1]: Entering directory `/home/MyDownload/thrift-0.9.3'
    221 make[2]: Entering directory `/home/MyDownload/thrift-0.9.3'
    222 make[2]: Nothing to be done for `install-exec-am'.
    223 make[2]: Nothing to be done for `install-data-am'.
    224 make[2]: Leaving directory `/home/MyDownload/thrift-0.9.3'
    225 make[1]: Leaving directory `/home/MyDownload/thrift-0.9.3'

    官网上说,下载了thrift的包后,解压然后configure & make,没有提make install,结合我上面的make install来看,貌似最后的make install与make的差别不大,是不是真的make install就不必要了,呵呵,需要研究makefile,才可以知道细节,暂且不研究了。。。

    检查下,是否安装成功了嘛:

    1 [root@CloudGame MyDownload]# thrift --version
    2 Thrift version 0.9.3

    到此,thrift的安装已经全部完成。 若有需要的,请转走,不谢!转载说明出处!

    参考网址: http://thrift.apache.org/docs/install/centos, http://libevent.org/

  • 相关阅读:
    JS 页面截屏,转为图片
    php js 交互(js调用PHP代码执行)
    微信开发,自定义菜单不生效怎么办?重新关注也无效
    ios 带scrollView的控制器,双击“状态栏”,返回scrollView的顶部
    iOS 文件共享 ,通过手机助手/mac 访问APP沙盒
    cell 各自的高度不同的时候
    释放控制器。控制器的生命周期,有 定时器的 控制器
    TmpCode
    ios uploader 上传IPA到itunes
    UIImageView的image的图片显示 imageView.contentMode
  • 原文地址:https://www.cnblogs.com/shihuc/p/5938656.html
Copyright © 2011-2022 走看看