适配过程中需要安装的东西(包括但不限于):
yum install -y gcc-c++
yum install -y boost-devel
yum install -y libaio-devel
适配过程遇到的问题:
- 默认snappy版本较新(使用了c++11的语法),gcc编译器无法编译(指定了-std=gnu++98)
解决方法:
将snappy 1.1.7版本的devel和lib的rpm(老版本)解压到指定目录,并在configure.ac中增加--with-snappy的参数,可以指定snappy的lib和include目录
并且在运行时也要增加对应的lib目录到LD_LIBRARY_PATH中 - 默认openssl版本较新(默认为openssl-1.1.1f),当前代码中用到的是openssl-1.0.1e
解决方法:
下载编译openssl-1.0.1e,然后在configure.ac中增加--with-openssl的参数,可以指定openssl的lib和include的目录
并且在运行时也要增加对应的lib目录到LD_LIBRARY_PATH中 - 默认的mysqlclient库版本较新,并且依赖到了较新版本的openssl,当前的工具同时依赖mysqlclient库和老版本的openssl库,所以无法使用默认版本的mysqlclient库
解决方法:
下载编译mysqlclient,并指定依赖的openssl为openssl-1.0.1e的位置
在configure.ac中增加--with-mysql的参数,可以指定mysql的lib和include的目录 - 默认bison版本太高,生成的.tab.c和.tab.h编译报错
安装bison-2.4.1:
https://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.bz2