安装mysql_sniffer报错undefined reference to symbol '[email protected]@GLIBC_2.2.5'问题

按照https://github.com/Qihoo360/mysql-sniffer上的安装方法进行安装,make是报错如下

Linking CXX executable mysql-sniffer
/usr/bin/ld: /root/mysql-sniffer/lib/libgthread-2.0.a(gthread-impl.o): undefined reference to symbol ‘[email protected]@GLIBC_2.2.5‘
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [bin/mysql-sniffer] Error 1
make[1]: *** [bin/CMakeFiles/mysql-sniffer.dir/all] Error 2
make: *** [all] Error 2

网上查询原因是:

pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。所以在编译中要加 -lpthread参数。

通过查找rdynamic关键字找到文件proj/bin/CMakeFiles/mysql-sniffer.dir/link.txt,并在最后添加了-lpthread,重新make后成功。

/usr/bin/c++   -DENABLE_TCPREASM -O3 -Wall  -DENABLE_TCPREASM -O2    CMakeFiles/mysql-sniffer.dir/main.c.o CMakeFiles/mysql-sniffer.dir/mysql-dissector.c.o CMakeFiles/mysql-sniffer.dir/util.c.o CMakeFiles/mysql-sniffer.dir/session.cpp.o CMakeFiles/mysql-sniffer.dir/sniff-config.cpp.o CMakeFiles/mysql-sniffer.dir/sniff-log.cpp.o  -o mysql-sniffer  -L/root/mysql-sniffer/lib -rdynamic -Wl,-Bstatic -lnidstcpreasm -lnet -lpcap -lglib-2.0 -lgthread-2.0 -Wl,-Bdynamic -lrt -Wl,-Bstatic -lnet -lpcap -lglib-2.0 -lgthread-2.0 -Wl,-Bdynamic -lrt -Wl,-rpath,/root/mysql-sniffer/lib -pthread

tips:

mysql_sniffer该工具好像只要编译出来可执行文件后,复制到其他主机好像也可以使用。

安装mysql_sniffer报错undefined reference to symbol '[email protected]@GLIBC_2.2.5'问题

原文地址:https://www.cnblogs.com/MakeInstall/p/10868983.html

时间: 2024-10-08 12:24:45

安装mysql_sniffer报错undefined reference to symbol '[email protected]@GLIBC_2.2.5'问题的相关文章

在Linux下使用gcc编译mesa文件报undefined reference to symbol '[email protected]@GLIBC_2.2.5和DSO missing from command line两个错误的解决方案

一.概述 在Linux系统下使用gcc编译用C语言写的mesa的示例程序. 环境:Ubuntu Server 18.04.1 二.问题的出现 在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译. 以上截取的是用gcc编译目标文件和传参的介绍: gcc:源程序将用gcc编译器进行编译: osdemo,c:将要被编译的源程序: -lOSMesa:链接OSMesa库: -lGLU:链接GLU库: -lGL:链接GL库: -o:指定目标名称: osdemo:编译后生成

undefined reference to symbol '[email protected]@GLIBC_2.0'

编译程序的时候出现错误: /my/gtk/calculator$ gcc -o  main main.c  `pkg-config --libs --cflags gtk+-2.0` /usr/bin/ld: /tmp/ccUS8pua.o: undefined reference to symbol '[email protected]@GLIBC_2.0' //lib/i386-linux-gnu/libm.so.6: error adding symbols: DSO missing fr

php make报错undefined reference to symbol

/usr/bin/ld: ext/phar/.libs/util.o: undefined reference to symbol '[email protected]@libcrypto.so.10' /usr/bin/ld: note: '[email protected]@libcrypto.so.10' is defined in DSO /lib64/libcrypto.so.10 so try adding it to the linker command line /lib64/l

解决错误 undefined reference to symbol '[email protected]@CXXABI_1.3.8'

1. 错误信息 在Makefile里,定义CC为"aarch64-linux-gnu-g++ --sysroot=$(MPSOC_ROOTFS)",编译test.cpp,没有错误.如果使用environment-setup-aarch64-xilinx-linux里的设置,在Makefile里不定义CC,编译test.cpp出现下列错误. [email protected]:/proj/hankf/zcu106/v183/egl$ make aarch64-xilinx-linux-g

linux + eclipse + cdt 报错undefined reference......好麻烦的,这位大牛给出的方法可行,特此MARK!!!!

http://bbs.csdn.net/topics/390239632 kerosun kerosun 等级: 结帖率:96.92% 楼主 发表于: 2012-10-11 12:00:51 比如有一个tools工程,提供给其他工程通用的工具函数. 我现在的做法就只能是ctrl+c|ctrl+v一旦工具函数发生变化,还需要在用到这些函数的工程中更新,比较麻烦. 看到eclipse工程属性设置中有Project References,但是一直不会用.那位好心人能说说怎样实现我的需求. 更多0分享到

升级redis3.2.7编译报错“ undefined reference to `clock_gettime'”

由于redis有个紧急的安全漏洞更新所以我升级线上的redis-cluster的版本.编译时报了一个错:" redis-3.2.7/deps/jemalloc/src/nstime.c:120: undefined reference to `clock_gettime' collect2: ld returned 1 exit status make[1]: *** [redis-server] Error 1 make[1]: Leaving directory `redis-3.2.7/s

cocos2d-x android 添加新场景报错: undefined reference to `vtable for XXX'

转载自 居家懒人 http://www.cnblogs.com/JD85/archive/2012/09/17/2688128.html 加入写了新场景SecondScene,结果在cpp文件里类名地方报错说undefined reference to `vtable for SecondScene', 很简单,貌似是每个新场景都要先注册一下,找到jni-->Classes目录下的Android.mk文件,在 LOCAL_SRC_FILES := AppDelegate.cpp HelloWor

单独编译PCL的kdtree模块报错“undefined reference to”

我打算使用gdb调试pcl的kdtree教程(kdtree_search.cpp).由于pcl经过预编译,将kdtree模块编译成动态链接库.使用gdb无法进入动态链接库进行调试! 因此将kdtree模块(主要为kdtree_flann.h和kdtree_flann.hpp)的相关代码抽取出来,单独编译.代码包的树状图如下所示, 上图可见,kdtree模块的依赖了这么多文件,可见pcl的代码抽象程度,重用性做得非常好. 附上CMakeLists.txt, cmake_minimum_requir

mac安装beego工具bee报错 go: github.com/derekparker/[email protected]: parsing go.mod: unexpected module path "github.com/go-delve/delve"

主要参考URL: http://www.678fly.cn/d/3-go-mod-bee 一.创建一个 go mod 下的文件夹 mkdir test cd test go mod init test 二.在 go.mod 内把 bee 的源替换掉,如下所示: github.com/realguan/bee 是我 fork 了 github.com/beego/bee 的源码,进行了源代码更改: module test replace github.com/beego/bee v1.10.0 =