新建一个maven项目,先下载maven依赖  http://thrift.apache.org/download

<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.11.0</version>
</dependency>

 

再安装需要的工具  http://thrift.apache.org/docs/install/os_x

我的是MacBook Pro,按照要求,

安装thrift的工具依赖boost库

下载地址:www.boost.org,找到最新的版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令

./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install  

如果出现missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun错误,
先执行

xcode-select --install

安装thrift的工具依赖libevent库

下载地址:http://libevent.org,找一个稳定版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令:

./configure --prefix=/usr/local
make
sudo make install

  

make的时候出现 fatal error: 'openssl/bio.h' file not found

这是由于mac默认安装了openssl但是没有安装对应的include头文件和lib库,故这里使用homebrew(参考https://brew.sh/index_zh-cn.html)来安装最新的openssl

先安装homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

再用homebrew安装openssl(xcode要是最新版本的才能安装):

brew install openssl

brew link openssl --froce

ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl

ln -s /usr/local/opt/openssl/include/openssl /usr/local/include/openssl

ln -s /usr/local/opt/openssl/lib/libssl.a /usr/local/lib/libssl.a

ln -s /usr/local/opt/openssl/lib/libcrypto.a /usr/local/lib/libcrypto.a

 然后重新运行 make sudo make install 命令来安装libevent 

安装Apache Thrift

下载最新版本的thrift 0.11,下载地址:http://archive.apache.org/dist/thrift/

解压下载的文件,进入该目录,运行以下脚本

./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local
make
sudo make install

如果报错error: Bison version 2.5 or higher must be installed on the system!

解决办法:mac中默认安装了bison 2.3版本,并配置了路径在path中。安装最新的版本3.0.4, 并将/usr/bin中的bison删除,将bison 3.0.4 复制到/usr/bin中
cd /usr/bin
brew install bison
brew unlink bison
source ~/.bash_profile 或者export PATH=/usr/local/Cellar/bison/3.0.4_1/bin:$PATH
把其加入环境变量
再执行bison -V , 版本号变成3.0.4即可

 运行thrift -version 命令查看thrift版本即可

Thrift入门之mac下的安装流程的更多相关文章

  1. Mac 下 docker安装

    http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...

  2. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战

    Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...

  3. Mac下Jekyll安装

    之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...

  4. Mac下Tomcat安装与Intellij IDEA配置Tomcat

    Mac下Tomcat安装与Intellij IDEA配置Tomcat 一 安装 1 下载地址:https://tomcat.apache.org/download-90.cgi 2 将压缩包解压后移至 ...

  5. Mac下Maven安装与配置

    Mac下Maven安装与配置 下载maven http://maven.apache.org/download.cgi main->download菜单下的Files 下载后解压在Documen ...

  6. Mac下删除安装的pkg

        Mac下的安装和删除都比windows更加简单清晰,这点在dmg方式下非常明显,但很多时候我们会使用pkg来进行安装,这样的安装想删除就有点麻烦了. 比如,我安装了Golang这个pkg用于g ...

  7. Mac下新安装的MySQL无法登陆root用户解决方法

      一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile ...

  8. Mac下webpack安装

    最近开始接触构建工具webpack,公司电脑是 windows,而我自己的呢是mac.本来以为在自己电脑安装很简单,但是出了点问题,所以写出来分享下. 这里用npm的方式安装,首先你要安装node.j ...

  9. Anaconda安装Graphviz, mac下Graphviz安装, pcharm中调用pycharm, Graphviz典型例子

    mac下的Graphviz安装及使用 2017年10月13日 13:30:07 阅读数:7495 一.安装 Graphviz http://www.graphviz.org/ mac用户建议直接用ho ...

随机推荐

  1. 将sqlServer上的数据库文件进行盘目的迁移

    在数据库客户端创建数据库时要改为.mdf文件,因为附加问价时附加的是.mdf文件: 在里选中相应的数据库 右键->任务-分离 在 剪切到相应的想放置的盘目. 例如迁移到E盘下: 在数据库-> ...

  2. Android actionbar 笔记

    ActionBar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作.界面导航等功能. 参考链接 https://dev ...

  3. 第三百一十五节,Django框架,CSRF跨站请求伪造

    第三百一十五节,Django框架,CSRF跨站请求伪造  全局CSRF 如果要启用防止CSRF跨站请求伪造,就需要在中间件开启CSRF #中间件 MIDDLEWARE = [ 'django.midd ...

  4. 为什么要整合apache 和tomcat?

    1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展. 2. Apache和Tomcat都可以做为独立的web服务器来运行,但是A ...

  5. u3d调用c++ dll的DllNotFoundExceion 问题

    原文地址:http://blog.csdn.net/boren31/article/details/8778504 问题年年有,今年特别多. 开发环境: Windows  XP sp3 Visual  ...

  6. HttpClient三种不同的服务器认证客户端方案

    http://blog.csdn.net/i_lovefish/article/details/9816783 HttpClient三种不同的认证方案: Basic, Digest and NTLM. ...

  7. Oracle行列转换的思考与总结

    最近几天一直在弄Oracle-SQL的问题,涉及到了一些平时没有用到的东西,也因此而在这里郁闷了好久.现在问题得到了解决虽说不算完美.但是还是和大家一起分享一下. 行列转换之一:sum(case wh ...

  8. js 停止事件冒泡 阻止浏览器的默认行为

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 浏览器默认行为: 在form中按回车键就会提交表单:单击鼠标右键就会弹出context menu. ...

  9. IIS 使用多个https和通配证书解决方案

    环境:OS :WINDOWS 2008 IIS: IIS7 域名:三个二级域名 问题:由于一个网站只支持一个443,但可以通过更改配置得到绑定不同域名.但由于公用证书,所以问题出来.只能为一个二级域名 ...

  10. JavaScript正则表达式1

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码. 正则表达式可以: •数据有效性验证.可以 ...