Thrift介绍

Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。

安装开发工具集

sudo yum -y groupinstall "Development Tools"

安装autoconf

 
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar xvf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr
make
sudo make install
cd ..
 

安装automake

 
wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
tar xvf automake-1.14.tar.gz
cd automake-1.14
./configure --prefix=/usr
make
sudo make install
cd ..
 

安装bison

 
wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
tar xvf bison-2.5.1.tar.gz
cd bison-2.5.1
./configure --prefix=/usr
make
sudo make install
cd ..
 

安装C++依赖库

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

安装boost

wget http://iweb.dl.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.gz
./bootstrap.sh --prefix=/usr
./b2 install
cd ..

安装libevent

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
./configure --prefix=/usr
make
sudo make install
cd ..

安装Thrift

git clone https://git-wip-us.apache.org/repos/asf/thrift.git
cd thrift
./configure --prefix=/usr --with-libevent=/usr --with-boost=/usr
sudo make
sudo make install

安装过程中容易碰到的问题:

1.下面这个错误可能是因为DOS(Windows)和Unix文件格式问题:
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... no
configure: No compiler with C++11 support was found
./configure: line 16746: syntax error near unexpected token `fi'
./configure: line 16746: `fi'
解决方法是设置好git:
[core]
autocrlf = false
safecrlf = true
eol = lf
对应的命令为:
git config --global core.autocrlf false
git config --global core.safecrlf true
git config --global core.eol lf

完成后,删除再重新从git上clone出来。

2..ibtoolize: AC_CONFIG_MACRO_DIR([./aclocal]) conflicts with aclocal_AMFLAGS=-I ./aclocal 执行libtoolize遇到上面提示的错误时,可能是因为configure.ac和Makefile.am文件是dos格式导致的。这个问题跟上面那个解决方案一致,或者直接修改文件格式见:http://www.cnblogs.com/573583868wuy/p/4009546.html(不太建议这样干,单个文件可以这样,文件多了就比较坑了)。

3.

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report

具体步骤请参见 <http://bugzilla.redhat.com/bugzilla>。
make[3]: *** [src/thrift/generate/thrift-t_c_glib_generator.o] 错误 1
make[3]: Leaving directory `/home/will/thrift-0.10.0/compiler/cpp'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/will/thrift-0.10.0/compiler/cpp'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/will/thrift-0.10.0'
make: *** [all] 错误 2

主要原因大体上是因为内存不足,可以 临时使用交换分区来解决,最好是添加物理内存

sudo dd if=/dev/zero of=/swapfile bs=64M count=16 
sudo mkswap /swapfile 
sudo swapon /swapfile

centos 安装thrift的更多相关文章

  1. CentOS安装thrift

    下载thrift依赖的东西  yum -y install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-dev ...

  2. Thrift CentOS安装和使用

    Thrift是Apache的一个开源的跨语言服务开发框架,它提供了一个代码生成引擎来构建服务,支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Coc ...

  3. thrift C++ Centos 安装

    1.在官方下载thrift http://thrift.apache.org/download 这里下载thrift-0.11.0.tar.gz版本 2.如果想支持安装Cpp版本就需要先安装boost ...

  4. CentOS 6安装thrift支持erlang开发

    早前,在我的博文thrift多平台安装介绍了如何在debian/ubuntu下面安装thrift,并支持erlang开发的.而在CentOS平台下,并没有成功安装.经过不断摸索,终于成功了,这篇博文就 ...

  5. 安装thrift

    要求 thrift至少需要支持三种语言: Java PHP Go 预安装 基本教程: http://thrift.apache.org/docs/install/centos 使用最新的thrift, ...

  6. 安装thrift全过程

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

  7. linux安装thrift

    安装配置Thrift Thrift的编译器使用C++编写的,在安装编译器之前,首先应该保证操作系统基本环境支持C++的编译,安装相关依赖的软件包,如下所示 sudo yum install autom ...

  8. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  9. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

随机推荐

  1. Qt 设置窗口居中显示和窗体大小

    设置窗口居中显示 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include <QDesktopWidget> //....... QDesktopWidget ...

  2. nginx补丁格式说明(CVE-2016-4450为例)

    nginx安全公告地址:http://nginx.org/en/security_advisories.html CVE-2016-4450:一个特定构造的数据包,可引发nginx引用空指针,导致ng ...

  3. QT和JS的互相调用例子

    转自: http://blog.163.com/qimo601@126/blog/static/15822093201682185819623/ Qt 4.8.4 感谢原作者,我只转载. 看看作者如何 ...

  4. suffix word ard ar arian arium atic ation atory ator out ~3

      1★ ard 不好的人   2★ ar ~的:~人物     1● arian ~人.物     2● arium 地点,场地   3●aster   不怎么样的人     1● ast ~人   ...

  5. Oracle的创建表和创建约束的Sql语句

    Oracle的创建表和创建约束的Sql语法 1.创建表的语句 ---1.创建模拟的数据表 --- --1.1.创建学生表Student create table Student( StuId NUMB ...

  6. Java Web(八) 事务,安全问题及隔离级别

    事务 什么是事务? 事务就是一组原子性的SQL查询,或者说是一个独立的工作单元. 事务的作用 事务在我们平常的CRUD(增删改查)操作当中也许不太常用, 但是如果我们有一种需求,一组操作中必须全部成功 ...

  7. webpack分离打包css和less

    github仓库:https://github.com/llcMite/webpack.git 为什么要分离打包?       答:刚开始学webpack的时候就很郁闷,明明没几个文件,打包出来体积特 ...

  8. MariaDB Role

    一.MariaDB Role介绍 MariaDB从10.0/10.1版本开始支持role. Role相当于各种权限的集合,可以给多个账户统一权限的修改直接通过修改role来实现,不需要每个账户一个一个 ...

  9. Docker安装websphere(四)

    在Docker容器里安装webshpere <!--前提:已经安装好了docker,能够正常使用.--> (1)docker安装websphere(需要账号和密码登录,不挂载数据卷) 获取 ...

  10. 泛型算法,排序的相关操作,lower_bound、upper_bound、equal_range

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...