Ubuntu 12.04下安装thrift 0.9
Thrift这里就不介绍了,只说一句——Facebook很牛逼。
我这里安装Thrift主要是为Accumulo数据库作准备,所以java语言为必选项。
具体安装参考官方Apache Thrift Requirements。
1,安装ant和ivy ,配置环境变量
下载ant和ivy安装包(我这里北京理工的镜像比较快):
http://mirror.bit.edu.cn/apache/ant/binaries/apache-ant-1.9.1-bin.tar.gz
http://mirror.bit.edu.cn/apache/ant/ivy/2.3.0/apache-ivy-2.3.0-bin.tar.gz
解压:
$ tar -xvzf apache-ant-1.9.1-bin.tar.gz
$ tar -xvzf apache-ivy-2.3.0-bin.tar.gz
把apache-ivy-2.3.0文件夹下的ivy-2.3.0.jar包拷贝到apache-ant-1.9.1/lib文件夹下。
配置环境变量
$ vim ~/.profile
添加下面内容
export JAVA_HOME=/home/hadoop/java/jdk1.6.0_25 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export ANT_HOME=/home/hadoop/java/apache-ant-1.9.1 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ANT_HOME/bin:$PATH
2,安装必要的依赖包和头文件
$ sudo apt-get install python-dev automake libtool flex bison pkg-config g++
其中,要是不安装python-dev的,后面安装过程中会出现下面的错误

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/protocol/fastbinary.c -o build/temp.linux-x86_64-2.7/src/protocol/fastbinary.o
src/protocol/fastbinary.c:20:20: 致命错误: Python.h:没有那个文件或目录
编译中断。
3,安装boost
$ sudo apt-get install libboost-test-dev
注意,这里是libboost-test-dev不是libboost-dev,否者会提示找不到libboost_unit_test_framework.a。
4,生成Makefile
$ ./configure --without-ruby
其中,我为了参考Accumulo官方说法,加入--without-ruby选项。
5,编译
$ make
期间会卡在某一行很长时间,等待就是。
注意,Thrift官方安装文档里面有“make check”命令,这里跳过。
因为如果运行check命令,有一个已知的bug,见Apache官方JIRA:
6,安装
$ sudo make install
注意,这一步一定要加上sudo,否者会出现下面错误:
/usr/bin/install: cannot create regular file `/usr/local/bin/thrift': Permission denied
由于环境变量配置在~目录下的.profile,sudo命令会找不到java命令,修改全局环境变量:
$ vim /etc/environment
加入JAVA_HOME、CLASS_PATH和ANT_HOME三个变量。
让这次修改立即生效:
$ source /etc/environment
再次执行
$ sudo make install
7 OK
测试,OK
Ubuntu 12.04下安装thrift 0.9的更多相关文章
- Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma
1.下载angularjs 进入其官网下载:https://angularjs.org/,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...
- Ubuntu 12.04 下安装 Eclipse
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...
- ubuntu 12.04下安装Qt出现cannot execute binary file的解决方案
最近在ubuntu 12.04下安装QT的过程中,遇到一个问题. ./qt-opensource-linux-x64-5.7.0.run出现了bash: ./qt-opensource-linux-x ...
- Ubuntu 12.04下安装QQ 2012 Beta3(转)
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
- [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法
如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...
- Ubuntu 12.04下安装QQ 2012 Beta3
Ubuntu 12.04下安装QQ 2012 Beta3 由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...
- Ubuntu 12.04下安装OpenCV 2.4.2
http://sourceforge.net/projects/opencvlibrary/files/ Ubuntu 12.04下安装OpenCV 2.4.2 http://blog.csdn.ne ...
- Ubuntu 12.04 下安装 VirtualBox 及虚拟机winxp的安装
参考文档: http://wenku.baidu.com/view/a51ac26c9b6648d7c1c746d7.html 1.首先,先去官网(http://www.virtualbox.org) ...
- 在 Ubuntu 12.04 上安装 GitLab6.0
安装环境: 操作系统: Ubuntu 12.4 LTS 英文 数据库: mysql5.5.32 web服务器: nginx1.4.1 首先, 添加git和nginx的ppa,并升级 ...
随机推荐
- 如何使用 AngularJS 的 ngShow 和 ngHide
今天我们来看看怎样使用Angular的ngShow 和ngHide 指令来完成它们听起来应该完成的,显示和隐藏! 它们应该做的事 ngShow 和ngHide 允许我们显示或隐藏不同的元素.这有助于创 ...
- MySQL外键的作用和创建
MySQL外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据.使两张表形成关联,外键只能引用外表中列的值! 我们来建两个表 CREATE TABLE `example1` ( ` ...
- myeclipse 之 快捷键
简单记录一下,新装了个机器,win7系统,想设置一下自己习惯的快捷键 如:ctrl+alt+方向键,复制行,发现设置不上,原先的自带的也失效,设置一下ctrl+alt+其它键,ok可以使用,这说明某些 ...
- make module失败的原因cc1: error: unrecognized command line option “-m64
cc1: error: unrecognized command line option "-m64"cc1: error: unrecognized command line o ...
- 编译 wl18xx驱动源码
在做beagleboneblack移植的时候,wl18xx的驱动源码是自动编译的.但是移植到其他平台优越平台不一样,所以就不能自动编译 所以用其他方式编译.http://e2e.ti.com/supp ...
- CentOS6.6 搭建Zabbix_3.0
公司有下发内网监控服务器的需求 使用zabbix监控 所以这篇文章是讲述的zabbix的搭建 其实网上很多地方都有 可以参考 环境安装 系统环境: # cat /etc/redhat-release ...
- RS232 DB9 公头 母头 串口引脚定义
转自:http://hi.baidu.com/zhy_myspace/item/ad1ab0f112a4da1ad7ff8cf9 DB9 公头 母头 串口引脚定义 1.RS-232端(DB9母头/孔型 ...
- 【servlet】客户端是否可以访问到WEB-INF下的jsp文件
一般情况下(不考虑出现安全问题被入侵,那样啥都能访问到),WEB-INF下的jsp文件单凭浏览器端请求时访问不到的. 想访问的话需要通过服务端servlet的转发. 下面通过转发和重定向的尝试来观察访 ...
- apicloud教程1 (转载)
非常感谢APICloud官方给我版主职位,每天都看到很多朋友提出很多问题,我就借此机会写了一系列的教程,帮助大家从小白到高手之路.系列名称:<APICloud之小白图解教程系列>,会不定时 ...
- NullPointerException
if(userName.equals("zhansan")){} 可能会报空指针异常