设为首页 收藏本站
查看: 1247|回复: 0

[经验分享] mac os x10.10 安装thrift

[复制链接]

尚未签到

发表于 2015-12-30 10:11:29 | 显示全部楼层 |阅读模式
  http://thrift.apache.org/docs/install/
  一:安装最新版(自动安装)
  最简单的是用homebrew进行安装

  •   安装homebrew 在终端输入ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
  • 安装thrift   brew install thrift
  用brew安装的thrift版本是0.9的,but,我们项目中得thrift版本是0.8的,所以果断卸载掉。
  brew uninstall thrift。转到下面第二种方法安装thrift
  二:手动安装0.8.0
  先安装依赖。
  http://www.jattcode.com/installing-autoconf-automake-libtool-on-mac-osx-mountain-lion/

  • 安装BOOST
  下载:http://www.boost.org/
  命令:./bootstrap.sh,该命令用于生成bjam可执行文件,这个东西就是用来编译boost库
  命令:sudo ./b2 threading=multi address-model=64 variant=release stage install

  • 安装 libevent
  下载:http://libevent.org/
  命令:./configure --prefix=/usr/local
  命令:make
  命令:sudo make install

  • 安装 Apache Thrift
  下载:http://thrift.apache.org/
  编译命令:./configure --prefix=/usr/local/ --with-boost=/usr/local/lib --with-libevent=/usr/local/lib --without-ruby --without-python --without-perl --without-php
  有一些不相关的code genorater可以不要了,不然又得会报错。。。
  安装命令:sudo make install
  thrift -version 可以查看安装是否成功和版本
  thrift-0.8.0.tar.gz
  安装8的时候会遇到如下问题,并按如下解决:
  以下摘自美团 Created by 曹继光, last modified by 严鑫 on 十月 10, 2014
  Osx 10.9 是比较新的系统, 从这个版本开始, 系统默认编译器从GCC 改为 Clang(GCC -v 一下, 给的是clang 的提示).
  Thrift 0.8  代码相对又比较老, 在新的编译器上遇到了下列一些问题.
  问题1 :
  多个源码文件报错 # include <tr1/functional>, file not found, 改为 # include <boost/tr1/functional.hpp> 解决.
  需要修改以下文件:

  • lib/cpp/src/concurrency/ThreadManager.h  line:24
  • lib/cpp/src/async/TAsyncChannel.h line:23
  • lib/cpp/src/async/TAsyncChannel.cpp line:21
  • lib/cpp/src/async/TAsyncProcessor.h line:23
  • lib/cpp/src/async/TAsyncBufferProcessor.h line:23
  原因:  在我试验的环境下, 此头文件有后缀名/usr/local/include/boost/ tr1/functional.hpp
  问题2:
  cpp 测试代码 test/Benchmark.cpp 编译失败,  shared_ptr  ambigous , 用 boost::shared_ptr 替换 shared_ptr,
  错误消失.
  原因: Clang 支持 C++ 11, 其 标准库自带 shared_ptr(std::shared_ptr, 参考 http://zh.cppreference.com/w/cpp/memory/shared_ptr)
  故需显式指定名字空间.
  三:测试
  下面编写一个HelloWorld.thrift 来测试一下,内容如下:
  namespace java com.xx.mobile.hotel.sc.demo
  service HelloWorldService {
     string sayHello(1:string username)
}
  执行:thrift -gen java HelloWorld.thrift 将在同级目录下生成gen-java/com/xx/mobile/hotel/sc/demo/HelloWorldService.java文件。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158227-1-1.html 上篇帖子: PHP初步:在Mac OS X Yosemite下搭建Apache+PHP+Mysql 下篇帖子: [C/C++] ccpuid:CPUID信息模块 V1.02版,支持Mac OS X,支持纯C,增加CPUF常数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表