博客链接: http://codeshold.me/2017/10/wdt_folly_install_centos.html
断断续续的摸索了三天,终于在 CentOS 7 上成功的安装了Facebook的 WDT!!!
很麻烦,有选择的话,还是建议直接在Ubuntu上安装,可以节省很多时间和精力……
0x01 Preface
下最新的源码、最新的源码、最新的源码
- WDT 依赖 Facebook的 Folly库,故需要先验证Folly的编译和安装
- 通过yum安装的glog-devel、gflags-devel、gtest-devel 版本比较低,编译Folly时会报错,需要下载最新源码编译安装
- double-conversion 库自己是通过yum安装的,在CentOS 7.2 和 CentOS7.3 下未发现报错信息
- WDT 务必直接
git clone
下载最新源码,最新的release版本也可能会出现编译错误(踩过的坑, git issue也有提及) - gcc一定要4.9或以上,自己并没有手动升级操作系统的gcc,用的是
scl
(centos-release-scl) - 注意设置
LD_LIBRARY_PATH
的路径,默认情况下,编译安装的库都在/usr/local/lib
目录下 PKG_CONFIG_PATH
可不用设置,自己只是设置了LD_LIBRARY_PATH
, 当然在pkg-config --variable pc_path pkg-config
路径中再添加一个/usr/local/pkgconfig
也可以- 安装时注意文件的路径,wdt和folly要在同一目录下
0x02 Prepare
- glog: Google的一个C++语言的应用级日志记录框架,提供了C++风格的流操作和各种助手宏。
- gflags: Google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。
- double-conversion: A library that performs fast, accurate conversion between double precision floating point and text.
- jemalloc: General-purpose scalable concurrent malloc implementation
- boost: Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一, Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。
- libunwind: a portable and efficient C programming in