开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

/usr/bin/ld: cannot find -lmysqlclien

简介:
+关注继续查看

环境 
centos5.7 x86_64 系统上安装postfix !

 

错误

"/usr/bin/ld: cannot find -lmysqlclient"

类似/usr/bin/ld: cannot find -xxxx的错误有很多,

最简单的判断一下:是否安装相应的mysql-devel包

发现mysql-devel 包已经安装了


  1. # rpm -qa | grep mysql 
  2. mysql-devel-5.0.77-4.el5_6.6 
  3. mysql-server-5.0.77-4.el5_6.6 
  4. mysql-devel-5.0.77-4.el5_6.6 
  5. mysql-5.0.77-4.el5_6.6 
  6. php-mysql-5.1.6-27.el5_5.3 
  7. mysql-5.0.77-4.el5_6.6 

 

 

仔细再次查看错误信息,发现都是 /usr/lib/mysql/


  1. [postfix-2.6.13]$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl  -DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2   -lssl -lcrypto' 
  2.  
  3. /usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient 
  4. /usr/bin/ld: cannot find -lmysqlclient 
  5. collect2: ld returned 1 exit status 
  6. make: *** [master] Error 1 
  7. make: *** [update] Error 1 
  8.  
  9. [postfix-2.6.13]$ cat conf/makedefs.out  
  10. # Do not edit -- this file documents how Postfix was built for your machine. 
  11. SYSTYPE = LINUX2 
  12. AR  = ar 
  13. ARFL    = rv 
  14. RANLIB  = ranlib 
  15. SYSLIBS = -L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2  -lssl -lcrypto -ldb -lnsl -lresolv 
  16. CC  = gcc $(WARN) -DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS  
  17. OPT = -O 
  18. DEBUG   = -g 
  19. AWK = awk 
  20. STRCASE =  
  21. EXPORT  = AUXLIBS='-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2  -lssl -lcrypto' CCARGS='-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' OPT='-O' DEBUG='-g' 
  22. WARN    = -Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \ 
  23.     -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \ 
  24.     -Wunused -Wno-missing-braces 

 

解决方法,指定为/usr/lib64/mysql


  1. [postfix-2.6.13]$ make clea 
  2.  
  3. [postfix-2.6.13]$ make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl  -DUSE_TLS ' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2   -lssl -lcrypto' 
  4.  
  5. [postfix-2.6.13]$ cat conf/makedefs.out  
  6. # Do not edit -- this file documents how Postfix was built for your machine. 
  7. SYSTYPE = LINUX2 
  8. AR  = ar 
  9. ARFL    = rv 
  10. RANLIB  = ranlib 
  11. SYSLIBS = -L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2  -lssl -lcrypto -ldb -lnsl -lresolv 
  12. CC  = gcc $(WARN) -DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS  
  13. OPT = -O 
  14. DEBUG   = -g 
  15. AWK = awk 
  16. STRCASE =  
  17. EXPORT  = AUXLIBS='-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2  -lssl -lcrypto' CCARGS='-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' OPT='-O' DEBUG='-g' 
  18. WARN    = -Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \ 
  19.     -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \ 
  20.     -Wunused -Wno-missing-braces 
  21.  
  22. make && make isntall  
本文转自 dongnan 51CTO博客,原文链接:
http://blog.51cto.com/dngood/744748

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
make报错:"/usr/bin/ld: cannot find -lXXX"
在编译php时报错如下: # make 。。。 /usr/bin/ld: cannot find -lltdlcollect2: ld returned 1 exit statusmake: *** [libphp5.
5468 0
mysqld: File './binlog.~rec~' not found 问题解决处理
之前搭建了mysql主从同步服务器,之前启动正常,但今天在重启了服务器后,发现一直报 mysql pid mysqld_safe mysqld from pid file  hostname.pid ended 这实际是个错误,说明mysql启动时找*.pid文件发生错误。
1442 0
Gulp Error: Cannot find module 'jshint/src/cli'
I'm following sitepoint's An introduction to Gulp.js, but I'm stuck on step four, when I try to run gulp jshint I get "Error: Cannot find module 'jshi...
683 0
Angular单元测试遇到的错误消息:Uncaught Error - Cannot find module tslib
Angular单元测试遇到的错误消息:Uncaught Error - Cannot find module tslib
0 0
/bin/sh: 1: tclsh: not found
/bin/sh: 1: tclsh: not found
0 0
关于 编译QT项目时报错: error: cannot find -lGL 的解决方法
关于 编译QT项目时报错: error: cannot find -lGL 的解决方法
0 0
关于 编译qt项目时报错:error: cannot find -lGLESv2 的解决方法
关于 编译qt项目时报错:error: cannot find -lGLESv2 的解决方法
0 0
Docker容器/bin/bash start.sh无法找到not found
Docker容器/bin/bash start.sh无法找到not found
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载