LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1460|回复: 2

usr/bin/ld: cannot find -lmysqlclient

[复制链接]
发表于 2008-5-26 13:01:14 | 显示全部楼层 |阅读模式
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -DHAS_LDAP -DHAS_PCRE  -g -O -I. -I../../include -DLINUX2 -c master_flow.c
gcc -Wmissing-prototypes -Wformat -DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -DHAS_LDAP -DHAS_PCRE  -g -O -I. -I../../include -DLINUX2 -o master master.o master_conf.o master_ent.o master_sig.o master_avail.o master_spawn.o master_service.o master_status.o master_listen.o master_vars.o master_wakeup.o master_flow.o ../../lib/libglobal.a ../../lib/libutil.a -L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto -lsasl2 -L/usr/lib/openldap -llber -lldap -lpcre -ldb -lnsl -lresolv
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.a when searching for -lmysqlclient
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld 返回 1
make: *** [master] 错误 1
make: *** [update] 错误 1


============================
系统CentOS5.1( 64位 ),
按照网上的文章,进行了以下操作,可是出现了上面的问题:
[root@mailtest /]# tar zxvf postfix-2.4.6.tar.gz        #解压postfix包
[root@mailtest /]# cd postfix-2.4.6          #进入postfix解压目录
[root@mailtest postfix-2.4.5]# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -DHAS_LDAP' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lssl -lcrypto -lsasl2 -L/usr/lib/openldap -llber -lldap' #配置编译环境支持sasl/tls/mysql/ldap.相关编译参数参考readme文件
        
[root@mailtest postfix-2.4.6]# make  #编译postfix

=================================================
检测:
[root@yt ~]# mysql -V
mysql  Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (x86_64) using readline 5.0
[root@yt ~]# locate libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.15
/usr/lib/mysql/libmysqlclient.so.15.0.0
/usr/lib64/mysql/libmysqlclient.so
/usr/lib64/mysql/libmysqlclient.so.15
/usr/lib64/mysql/libmysqlclient.so.15.0.0
[root@yt mysql]# ls /usr/lib/mysql
libdbug.a       libmysqlclient.a        libmysqlclient_r.so.15.0.0  libmystrings.a  mysql_config
libheap.a       libmysqlclient_r.a      libmysqlclient.so           libmysys.a
libmyisam.a     libmysqlclient_r.so     libmysqlclient.so.15        libvio.a
libmyisammrg.a  libmysqlclient_r.so.15  libmysqlclient.so.15.0.0    mysqlbug



请问这是怎么回事?应该怎么改?
谢谢!!
 楼主| 发表于 2008-5-26 13:12:20 | 显示全部楼层
mysql是系统自带的:
mysql  Ver 14.12 Distrib 5.0.22, for redhat-linux-gnu (x86_64) using readline 5.0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-26 15:40:02 | 显示全部楼层
呵,已解决,把lib改成lib64,此外,openldap是在/etc目录下的:
[root@mailtest postfix-2.4.5]# make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_TLS -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -DHAS_LDAP' 'AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lm -L/usr/lib64 -lssl -lcrypto -lsasl2 -L/etc/openldap -llber -lldap'
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表