linewer 发表于 2008-12-08 12:38

源码编译的bind启动时提示缺少libmysqlclient.so.16

想让bind使用mysql数据库,安装步骤不下:
1.编译安装mysql并运行都没问题。
2.下载的bind-9.5.0-P2.tar.gz和mysql-bind.tar.gz
cp mysql-bind/mysqldb.c bind-9.5.0-P2/bin/named
cp mysql-bind/mysqldb.h bind-9.5.0-P2/bin/named/include
并在bin/named下的main.c及Makefile.in修改如下:
main.c中加入一句mysqldb_init();如下
/*
* Add calls to register sdb drivers here.
*/
/* xxdb_init(); */
mysqldb_init();
加入一句mysqldb_clear();如下
/*
* Add calls to unregister sdb drivers here.
*/
/* xxdb_clear(); */
mysqldb_clear();

bin/Makefile.in修改如下:
DBDRIVER_OBJS = mysqldb.@O@
DBDRIVER_SRCS = mysqldb.c
DBDRIVER_INCLUDES =-I'/usr/local/mysql/include/mysql'
DBDRIVER_LIBS = -L'/usr/local/mysql/lib/mysql' -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv -lc -lnss_files -lnss_dns -lresolv
然后./configure --prefix=/usr/local/bind9 --with-dlz-mysql=/usr/local/mysql --enabl-threads
    make &&make install
都没问题;
但/usr/local/bind9/sbin/named -v提示
sbin/named: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
我以为是找不到链接库的原因,就自己做了软连接:
ln -s /usr/local/mysql/libmysqlclient.so.16 /usr/lib/mysql/libmysqlclient.so.16同样出错
ln -s /usr/local/mysql/libmysqlclient.so.16 /usr/local/bind9/lib/mysql/libmysqlclient.so.16照旧同样出错。
google到的都是mysql出这个问题。。。。。。。。。。。

PS:系统/usr/lib/mysql/里本来有libmysqlclient.so.15

Reference:
http://www.oo8h.com/?s=retry
http://linux.chinaunix.net/bbs/archiver/tid-1038093.html

linewer 发表于 2008-12-08 19:17

拿到我是第一个碰到这个问题的?

scyzxp 发表于 2008-12-08 21:09

原帖由 linewer 于 2008-12-8 12:38 发表 http://bbs.chinaunix.net/images/common/back.gif
想让bind使用mysql数据库,安装步骤不下:
1.编译安装mysql并运行都没问题。
2.下载的bind-9.5.0-P2.tar.gz和mysql-bind.tar.gz
cp mysql-bind/mysqldb.c bind-9.5.0-P2/bin/named
cp mysql-bind/mysqldb.h ...
bind+mysql?
那还不如直接用mydns

adminjq 发表于 2012-12-02 17:11

我跟你同样的需求,同样的遭遇。正在寻找答案。
页: [1]
查看完整版本: 源码编译的bind启动时提示缺少libmysqlclient.so.16