亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Thrift - GeilThings

系統(tǒng) 1726 0

Thrift - GeilThings

Thrift

From GeilThings

Thrift
General
Version 0.9.0
Stable 0.9.0
Function Remote procedure call framework
Scripts

?

Contents

General

See also

Installing Thrift

Installing Thrift under CentOS

              
                # CentOS 5 packages:
              
              
                # http://wiki.apache.org/thrift/GettingCentOS5Packages
              
              
                # automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel 
              
              
                # ruby-devel was not installed since Ruby was built from source.
              
              
?

              
                # CentOS 5.6, 5.7:
              
              
                yum install
              
               gcc-c++ libevent libevent-devel zlib-devel glib2-devel

              
                yum install
              
               boost boost-devel 
              
                automake
              
               libtool 
              
                flex
              
              
                bison
              
               pkgconfig

              
                yum install
              
               perl-Bit-Vector

              
                # CentOS 6.2 has perl-Class-Accessor, CentOS 5.6 does not, see below.
              
              
                # Is perl-Class-Accessor really needed??? The Perl library can be built with Thrift 0.8.0 WITHOUT perl-Class-Accessor.
              
              
                # CentOS 6.2:
              
              
                yum install
              
               perl-Class-Accessor

              
                ### perl-Class-Accessor was not found in CentOS 5.6 repository, so
              
              
                # cpan
              
              
                # install Class::Accessor
              
              
                # exit
              
              
?

              
                # Not needed for CentOS 6.2 since CentOS 6.2 has boost 1.41.0:
              
              
                # CentOS 5.6 originally had boost 1.33.1, Thrift 0.6.1 required 1.34.0 for building all tests, so I used boost from source.
              
              
                cd
              
              
                /
              
              opt

              
                wget
              
               http:
              
                //
              
              sourceforge.net
              
                /
              
              projects
              
                /
              
              boost
              
                /
              
              files
              
                /
              
              boost
              
                /
              
              1.48.0
              
                /
              
              boost_1_48_0.tar.gz
              
                /
              
              download

              
                tar
              
              
                -zxvf
              
               boost_1_48_0.tar.gz
?

              
                # Ant is needed for compiling against Java as of Thrift 0.8.0, CentOS 6.2, Java 1.6.31.
              
              
?

              
                RAWNEWVERSION
              
              =
              
                `
              
              curl 
              
                -sd
              
              
                "action=ask&query=[[Thrift]]|%3FStable&format=json"
              
               http:
              
                //
              
              www.geilthings.com
              
                /
              
              api.php
              
                `
              
              
                NEWVERSION
              
              =
              
                `
              
              
                echo
              
              
                "
                
                  $RAWNEWVERSION
                
                "
              
              
                |
              
              
                grep
              
              
                -Po
              
              
                '^.*?\K(?<=Stable\":\[\").*?(?=\")'
              
              
                `
              
              
                echo
              
              
                $NEWVERSION
              
              
?

              
                cd
              
              
                /
              
              opt

              
                sudo
              
              
                wget
              
               http:
              
                //
              
              apache.lehtivihrea.org
              
                /
              
              thrift
              
                /
              
              
                ${NEWVERSION}
              
              
                /
              
              thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                sudo
              
              
                tar
              
              
                -zxvf
              
               thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                cd
              
               thrift-
              
                ${NEWVERSION}
              
              
?

              
                # I could not compile it against Ruby since "make" gave errors.
              
              
                # CentOS 5.7:
              
              
.
              
                /
              
              configure 
              
                --with-boost
              
              =
              
                /
              
              opt
              
                /
              
              boost_1_48_0 --with-c_glib=
              
                yes
              
              
                --without-ruby
              
              
                # CentOS 6.2: 
              
              
.
              
                /
              
              configure --with-c_glib=
              
                yes
              
              
                --without-ruby
              
              
?

              
                # See below for errors.
              
              
                make
              
              
                make
              
              
                install
              
            

Installing Thrift under Ubuntu

?

              
                sudo
              
              
                apt-get install
              
               git-core

              
                sudo
              
              
                apt-get install
              
               libevent-dev zlib-devel glib2-devel libssl-dev

              
                sudo
              
              
                apt-get install
              
               libboost-dev libboost-test-dev libboost-program-options-dev libtool pkg-config 
              
                g++
              
              
                sudo
              
              
                apt-get install
              
               ruby1.8-dev libcommons-lang-java php5-dev

              
                sudo
              
              
                apt-get install
              
              
                automake
              
              
                flex
              
              
                bison
              
              
                sudo
              
              
                apt-get install
              
               curl

              
                sudo
              
              
                apt-get install
              
               ruby ruby-full ruby-dev librspec-ruby rake rubygems libdaemons-ruby libgemplugin-ruby mongrel

              
                sudo
              
              
                apt-get install
              
               python-dev python-twisted

              
                sudo
              
              
                apt-get install
              
               libbit-vector-perl

              
                sudo
              
              
                apt-get install
              
               php5-dev php5-cli

              
                sudo
              
              
                apt-get install
              
               erlang-base erlang-eunit erlang-dev

              
                sudo
              
              
                apt-get install
              
               golang

              
                sudo
              
              
                apt-get install
              
               libglib2.0-dev

              
                sudo
              
              
                apt-get install
              
               ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev

              
                sudo
              
              
                apt-get install
              
               ant
?

              
                RAWNEWVERSION
              
              =
              
                `
              
              curl 
              
                -sd
              
              
                "action=ask&query=[[Thrift]]|%3FStable&format=json"
              
               http:
              
                //
              
              www.geilthings.com
              
                /
              
              api.php
              
                `
              
              
                NEWVERSION
              
              =
              
                `
              
              
                echo
              
              
                "
                
                  $RAWNEWVERSION
                
                "
              
              
                |
              
              
                grep
              
              
                -Po
              
              
                '^.*?\K(?<=Stable\":\[\").*?(?=\")'
              
              
                `
              
              
                echo
              
              
                $NEWVERSION
              
              
?

              
                cd
              
              
                /
              
              opt

              
                sudo
              
              
                wget
              
               http:
              
                //
              
              apache.lehtivihrea.org
              
                /
              
              thrift
              
                /
              
              
                ${NEWVERSION}
              
              
                /
              
              thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                sudo
              
              
                tar
              
              
                -zxvf
              
               thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                cd
              
               thrift-
              
                ${NEWVERSION}
              
              
                sudo
              
               .
              
                /
              
              configure --with-c_glib=
              
                yes
              
              
                # The file /opt/thrift/config.log can be checked for errors and warnings after running ./configure.
              
              
                sudo
              
              
                make
              
              
                sudo
              
              
                make
              
              
                install
              
              
?

              
                sudo
              
              
                ln
              
              
                -s
              
              
                /
              
              opt
              
                /
              
              thrift-
              
                ${NEWVERSION}
              
              
                /
              
              opt
              
                /
              
              thrift
            

Upgrade Thrift

              
                # Just in case, shut down any thrift-related servers. But this is (October 2012, current versions) actually not needed.
              
              
                # e.g. /opt/hbase/bin/hbase-daemon.sh stop thrift
              
              
?

              
                # Check the Requirements, they might have changed: 
              
              
                # http://wiki.apache.org/thrift/ThriftRequirements
              
              
?

              
                APPNAME
              
              =thrift

              
                RAWVERSION
              
              =
              
                `
              
              thrift -version
              
                `
              
              
                OLDVERSION
              
              =
              
                ${RAWVERSION:15}
              
              
                echo
              
              
                ${OLDVERSION}
              
              
?

              
                RAWNEWVERSION
              
              =
              
                `
              
              curl 
              
                -sd
              
              
                "action=ask&query=[[Thrift]]|%3FStable&format=json"
              
               http:
              
                //
              
              www.geilthings.com
              
                /
              
              api.php
              
                `
              
              
                NEWVERSION
              
              =
              
                `
              
              
                echo
              
              
                "
                
                  $RAWNEWVERSION
                
                "
              
              
                |
              
              
                grep
              
              
                -Po
              
              
                '^.*?\K(?<=Stable\":\[\").*?(?=\")'
              
              
                `
              
              
                echo
              
              
                $NEWVERSION
              
              
?

              
                # Download Thrift.
              
              
                cd
              
              
                /
              
              opt

              
                wget
              
               http:
              
                //
              
              apache.lehtivihrea.org
              
                /
              
              thrift
              
                /
              
              
                ${NEWVERSION}
              
              
                /
              
              thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                tar
              
              
                -zxvf
              
               thrift-
              
                ${NEWVERSION}
              
              .tar.gz

              
                cd
              
               thrift-
              
                ${NEWVERSION}
              
              
?

              
                # Check that PYTHONHOME is set to the python version that came with the CentOS distribution.
              
              
?

              
                # Now configure it:
              
              
                # If the CentOS default "boost" is used, the option --with-boost=/opt/boost_1_48_0 is not needed.
              
              
                # CentOS 5.7:
              
              
                # thrift 0.8.0:
              
              
                # ./configure --with-boost=/opt/boost_1_48_0 --with-c_glib=yes --without-ruby
              
              
                # CentOS 6.2:
              
              
                # thrift 0.8.0:
              
              
                # ./configure --with-c_glib=yes --without-ruby
              
              
?

              
                # CentOS 6.3, Thrift 0.9.0, ruby < 1.9.3-p327 (e.g. 1.9.3-p286)
              
              
.
              
                /
              
              configure --with-c_glib=
              
                yes
              
              
                --with-ruby
              
              =no
?

              
                # CentOS 6.3, Thrift 0.9.0, ruby >= 1.9.3-p327
              
              
                # HURRA, Ruby working with thrift again!!!!!!!!!!!!!!!!!!!!
              
              
.
              
                /
              
              configure --with-c_glib=
              
                yes
              
              
?

              
                # Always "make clean" after finding & correcting some errors in "make", and then "make" again after "make clean".
              
              
                make
              
              
                # make for Thrift 0.8.0 has more undocumented (December 2011) hidden dependencies than Thrift 0.61 or Thrift 0.7; see below for Errors.
              
              
                make
              
              
                install
              
              
?

              
                # Check.
              
              
thrift 
              
                -version
              
              
?

              
                rm
              
              
                -f
              
              
                /
              
              opt
              
                /
              
              thrift

              
                ln
              
              
                -s
              
              
                /
              
              opt
              
                /
              
              thrift-
              
                ${NEWVERSION}
              
              
                /
              
              opt
              
                /
              
              thrift
            

Errors Installing Thrift or Upgrading Thrift

This integer is too big: "9876543210987654321"

(Thrift 0.8.0, Erlang R15B, error after "make")

             [WARNING:/opt/thrift-0.8.0/test/BrokenConstants.thrift:20] 64-bit constant "68719476736" may not work in all languages.
   [ERROR:/opt/thrift-0.8.0/test/BrokenConstants.thrift:21] (last token was '9876543210987654321') 
   This integer is too big: "9876543210987654321"

        

Rebar requires version {1,5} or higher of git to process ./rebar get-deps

(Thrift 0.8.0, Erlang R15B, error after "make")

             Rebar requires version {1,5} or higher of git to process ./rebar get-deps
   ==> erl (get-deps)
   Pulling jsx from {git,"git://github.com/talentdeficit/jsx.git",{tag,"v0.9.0"}}
   ERROR: Rebar requires version {1,5} or higher of git to process {git,
                                                                     "git://github.com/talentdeficit/jsx.git",
                                                                     {tag,
                                                                      "v0.9.0"}}

        
Solution for Errors 1 and 2 : Install git; git x86_64 1.7.4.1 1.el5 can be found in the epel repository (December 2011).
yum install git
make clean
make

Cannot load such file -- spec/rake/spectask

(Thrift 0.8.0, Ruby 1.9.3p0 or p125, error after "make")

             cannot load such file -- spec/rake/spectask

        
Solution : Found in http://mail-archives.apache.org/mod_mbox/thrift-user/201112.mbox/%3C711A2D82-3A2C-494D-8A9A-797D9115B7D5@apache.org%3E
(gem install rspec will install rspec2 which does NOT solve the problem)
gem install rspec -v 1.3.2
make clean
make

cannot load such file -- mongrel

(Thrift 0.8.0, Ruby 1.9.3p0 or p125, error after "make") (Thrift 0.9.0, Ruby 1.9.3p286)

             /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mongrel (LoadError)

        
Solution : Found in http://mail-archives.apache.org/mod_mbox/thrift-user/201112.mbox/%3C711A2D82-3A2C-494D-8A9A-797D9115B7D5@apache.org%3E
See also: http://stackoverflow.com/questions/1073841/gem-install-mongrel-fails-with-ruby-1-9-1
gem install mongrel --pre
make clean
make

Can't locate ExtUtils/MakeMaker.pm in @INC

            Can't locate ExtUtils/MakeMaker.pm in @INC

        
Solution : yum install perl-ExtUtils-MakeMaker

javadoc Could not create the Java virtual machine

(Thrift 0.8.0, Java 1.6.0.30, error after "make install")

            [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Error occurred during initialization of VM
  [javadoc] Could not reserve enough space for object heap
  [javadoc] Could not create the Java virtual machine.

        
Solution : Shut down some memory consuming services or databases and re-try.

Building Java Library ........?: no

          Building Java Library ........?: no

        
Solution : Check that the java jdk used is correct and the same as the java runtime environment. Choose the correct one using "sudo update-alternatives --config java". This error can also be seen checking the file /opt/thrift/config.log, the line appears: Exception in thread "main" java.lang.UnsupportedClassVersionError:

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers

(CentOS 6.3 includes 0.13.5)

Solution : Install re2c (Tool for generating C-based recognizers from regular expressions)
          yum install re2c

        

Building Perl Library ........?: no

(CentOS 6.3; Solution only tried with perl 5.16.1)

Solution : Install the perl module Bit::Vector
          perlbrew switch perl-5.16.1
cpan
install Bit::Vector

        

Messages

0.9.0

              thrift 0.9.0
?
Building C++ Library .........?: 
              
                yes
              
              
Building C 
              
                (
              
              GLib
              
                )
              
               Library ....?: 
              
                yes
              
              
Building Java Library ........?: 
              
                yes
              
              
Building C
              
                # Library ..........?: no
              
              
Building Python Library ......?: 
              
                yes
              
              
Building Ruby Library ........?: 
              
                yes
              
              
Building Haskell Library .....?: no
Building Perl Library ........?: 
              
                yes
              
              
Building PHP Library .........?: 
              
                yes
              
              
Building Erlang Library ......?: 
              
                yes
              
              
Building Go Library ..........?: no
Building D Library ...........?: no
?
C++ Library:
   Build TZlibTransport ......?: 
              
                yes
              
              
   Build TNonblockingServer ..?: 
              
                yes
              
              
   Build TQTcpServer 
              
                (
              
              Qt
              
                )
              
               ....?: no
?
Java Library:
   Using javac ...............?: javac
   Using java ................?: java
   Using ant .................?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              ant
?
Python Library:
   Using Python ..............?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              python
?
PHP Library:
   Using php-config ..........?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              php-config
?
Ruby Library:
   Using Ruby ................?: 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              bin
              
                /
              
              ruby
?
Perl Library:
   Using Perl ................?: 
              
                /
              
              root
              
                /
              
              perl5
              
                /
              
              perlbrew
              
                /
              
              perls
              
                /
              
              perl-5.16.1
              
                /
              
              bin
              
                /
              
              
                perl
              
              
?
Erlang Library:
   Using erlc ................?: 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              bin
              
                /
              
              erlc
            

0.8.0

              thrift 0.8.0
?
Building code generators .....?:
?
Building C++ Library .........?: 
              
                yes
              
              
Building C 
              
                (
              
              GLib
              
                )
              
               Library ....?: 
              
                yes
              
              
Building Java Library ........?: 
              
                yes
              
              
Building C
              
                # Library ..........?: no
              
              
Building Python Library ......?: 
              
                yes
              
              
Building Ruby Library ........?: no
Building Haskell Library .....?: no
Building Perl Library ........?: 
              
                yes
              
              
Building PHP Library .........?: 
              
                yes
              
              
Building Erlang Library ......?: 
              
                yes
              
              
Building Go Library ..........?: no
?
Building TZlibTransport ......?: 
              
                yes
              
              
Building TNonblockingServer ..?: 
              
                yes
              
              
?
Using javac ..................?: javac
Using java ...................?: java
Using ant ....................?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              ant
?
Using Python .................?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              python
?
Using php-config .............?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              php-config
?
Using Perl ...................?: 
              
                /
              
              usr
              
                /
              
              bin
              
                /
              
              
                perl
              
              
?
Using erlc ...................?: 
              
                /
              
              usr
              
                /
              
              local
              
                /
              
              bin
              
                /
              
              erlc
            

Comments

?

Thrift - GeilThings


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日韩毛片最新看 | 亚洲国产精品婷婷久久久久 | 大ji吧快给我别停受不了视频 | 国产成人做受免费视频 | 亚洲国产一区二区在线 | 老司机午夜影院 | 日韩亚洲一区中文字幕 | 成人夜色香网站在线观看 | 精品视频久久 | 91亚洲区国产区精品区 | 四虎黄色网址 | 欧美freesex呦交| 亚洲欧美另类久久久精品能播放的 | 久久一日本道色综合久久 | 成人在色线视频在线观看免费大全 | 亚洲成人伊人网 | 欧美伦乱 | 国内精品免费久久久久妲己 | 久草国产精品视频 | 青青草久热精品视频在线观看 | 国产一区二区精品久久岳 | 欧美69p| 亚洲精品国产字幕久久vr | 日日夜夜操操 | 最新国产福利在线 | 日韩中文字幕高清在线专区 | 国产大片免费观看中文字幕 | 天天爱天天色 | 中文字幕一区二区日产乱码 | 欧美亚洲国产人成aaa | 性ao爱大片 | 日本精品一区二区三本中文 | 亚洲欧美国产视频 | 日韩欧美一级毛片精品6 | 欧美α片无限看在线观看免费 | 日韩福利影院 | 久久精热| 桃色婷婷| 99热久久这里只有精品首页 | 久久精品综合一区二区三区 | 免费在线激情视频 |