静态编译美团mysql 闪回工具(Myflash)

美团最新的闪回工具 https://github.com/Meituan-Dianping/MyFlash/blob/master/doc/INSTALL.md 编译的时候,特别是静态连接glib的时候碰到了不少问题,这里记录下来共参考 1,安装这个工...

美团最新的闪回工具

https://github.com/Meituan-Dianping/MyFlash/blob/master/doc/INSTALL.md

编译的时候,特别是静态连接glib的时候碰到了不少问题,这里记录下来共参考


1,安装这个工具首先需要 glib2-devel

2,编译可执行文件

 gcc -w  `pkg-config --cflags --libs glib-2.0` source/binlogParseGlib.c  -o binary/flashback


这种是动态编译的,拿到另外一台机器还需要安装 glib2-devel的。


如果拿到任何一台机器都可以运行,不需要单独安装glib2-devel,就需要静态编译glib 库,然后,编译Myflash 的时候加载上这个库就可以了

这里需要注意的事情有如下几个:

1,静态编译glib 是需要glibc-static.x86_64 这个文件的,否则会出现configure 错误 configure: error: C compiler cannot create executables错误。

2,因为要glibc-static 为2.12.1(centos6上面),所以最好下一份glib-2.12.1的版本,

可以到http://ftp.acc.umu.se/pub/gnome/sources/glib/2.12/ 下载对应版本

否则即使glib静态编译通过,到后面链接Myflash的时候也会报错

cd glib-2.12.1

./configure --prefix=/usr/local/glib --enable-static --disable-shared  CFLAGS="-static"

make;make install

在/usr/local/glib/lib/下会生成 静态库文件 ibglib-2.0.a


配置glib头文件和库文件搜索路径

export PKG_CONFIG_PATH=/usr/local/glib/lib/pkgconfig:$PKG_CONFIG_PATH  #把新装的glib库导出到pkg-config  的搜索路径中,

pkg-config --libs glib-2.0 gthread-2.0 库路径

 pkg-config --cflags glib-2.0 gthread-2.0 #预处理头文路径


然后进入Myflash 目录编译链接

gcc -w -g `pkg-config --cflags  glib-2.0` source/binlogParseGlib.c   -o binary/flashback1 /usr/local/glib/lib/libglib-2.0.a -lrt


这样就可以了编译一个静态在其他机器执行不需要glib的Myflashwenjai


美团binlogsql闪回工具

mysql binlog补丁闪回工具


myqlbinlog5.6(带-B 选项)

mysqlbinlog5.7(带-B选项)

Myflash 静态编译文件




  • 发表于 2017-11-17 16:51
  • 阅读 ( 500 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
石天
石天

437 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章