主要参考官网的指示,重点放在解决遇到的坑。
官网指导:http://thrift.apache.org/docs/install/os_x
Basic requirements
- A relatively POSIX-compliant *NIX system
- g++ 4.2 (4.8 or later required for thrift compiler plug-in support)
- boost 1.53.0
- Runtime libraries for lex and yacc might be needed for the compiler.
Requirements for building from source
- GNU build tools:
- autoconf 2.65
- automake 1.13
- libtool 1.5.24
- pkg-config autoconf macros (pkg.m4)
- lex and yacc (developed primarily with flex and bison)
- libssl-dev
安装 automake,autoconf
mac 可以用 brew 安装。但是我遇到了 brew link 错误。
解决办法就是把相关的冲突文件都删了再重新安装。
中间可以使用
brew doctor
来提供一些建议。
brew uninstall autoconf
来删除旧的 autoconf 。
make 编译报错 openssl/err.h not found
如果是在 ubuntu 下只需要用 apt-get 安装即可。
但是 Mac 下这个问题 里说是因为 Mac 已经不自带 ssl 的头文件了。
- 安装 Xcode-select 命令行工具
- 执行xcode-select -p 打印Xcode的工作目录:我的是 /Library/Developer/CommandLineTools
- 进入目录cd /Library/Developer/CommandLineTools/usr/include
- 找到openssl安装目录下的include目录,该目录下有个openssl文件夹,里面有需要的文件,把整个openssl文件夹copy过来
主要原因是Xcode-select目录下不再有openssl的头文件了,只需要把安装好的openssl的头文件copy过来就可以解决,如果你找不到openssl的安装位置,你也可以通过brew install openssl 安装然后去brew的安装目录寻找
could not create ‘/usr/lib/python2.7/site-packages’: Operation not permitted
这个问题是因为我的 site-packages 不在这个路径。根据这个问题里的回答可以尝试设置
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
然后需要重新 configure, 才能更新 make 需要的配置。