1. 升级所有软件包
yum -y update
2.安装开发工具
yum -y groupinstall “Development Tools”
3.安装autoconf/automake/bison/boost
autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile GNU
bison 是属于 GNU 项目的一个语法分析器生成器。
bison 把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。
它也可以为二义文法生成 “通用的 从左到右 最右” (GLR)语法分析器。(from百度百科)
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
tar -zxvf autoconf-2.69.tar.gz
cd autoconf-2.69 ./configure --prefix=/usr
make
make install
wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
tar -zxvf automake-1.14.tar.gz
cd automake-1.14 ./configure --prefix=/usr
make
make install
wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
tar -zxvf bison-2.5.1.tar.gz
cd bison-2.5.1 ./configure --prefix=/usr
make
make install
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -xvf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh
./b2 install
4. 安装C++依赖
yum -y install libevent-devel zlib-devel openssl-devel
5.安装thrift ,不要用git包,直接到官网上下载tar包
wget http://apache.fayea.com/thrift/0.10.0/thrift-0.10.0.tar.gz
tar -xvf thrift-0.10.0.tar.gz
cd thrift-0.10.0
./configure --with-lua=no
make && make install
6.安装错误及解决方案
1.找不到libboost_unit_test_framework.a;
解决:源码本地编译boost安装;
2.gcc宏编译问题__STDC_FORMAT_MACROS
解决:不要用git包,昂~,因为使用git包在安装的时候会报
src/thrift/server/TNonblockingServer.cpp:460:16:
错误:expected ‘)’ before ‘PRIu32’
"(%" PRIu32 " > %" PRIu64
^
7.测试下thrift是否安装成功,使用thrift官网的例子
在/home/thrift_test目录下创建user.thrift文件,内容如下:
struct UserProfile { 1: i32 uid, 2: string name, 3: string blurb
}
service UserStorage { void store(1: UserProfile user),
UserProfile retrieve(1: i32 uid)
}
执行thrift –gen php user.thrift
在当前目录下生成一个目录gen-php,打开gen-php目录,有两个文件,如下
[root@MiWiFi-R3-srv thrift_test]# cd gen-php/ [root@MiWiFi-R3-srv gen-php]# ll
总用量 16
-rw-r–r–. 1 root root 3258 7月 29 20:30 Types.php -rw-r–r–. 1 root root 10359 7月 29 20:30 UserStorage.php
到此,thrift安装成功