美团最新的闪回工具
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
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!