使用DLZ编译绑定时出现CentOS错误/usr/bin/ld:找不到-lmysqlclient“;

使用DLZ编译绑定时出现CentOS错误/usr/bin/ld:找不到-lmysqlclient“;,mysql,makefile,compilation,centos,bind,Mysql,Makefile,Compilation,Centos,Bind,因此,我尝试在CentOS 7上使用DLZ(mysql)支持编译Bind 之后 ./configure --prefix=/usr --sysconfdir=/etc/bind --localstatedir=/var --mandir=/usr/share/man --infodir=/usr/share/info --enable-threads --enable-largefile --with-libtool --enable-shared --enable-static --with

因此,我尝试在CentOS 7上使用DLZ(mysql)支持编译Bind

之后

 ./configure --prefix=/usr --sysconfdir=/etc/bind --localstatedir=/var --mandir=/usr/share/man --infodir=/usr/share/info --enable-threads --enable-largefile --with-libtool --enable-shared --enable-static --with-openssl=/usr --with-gssapi=/usr --with-gnu-ld --with-dlz-postgres=no --with-dlz-mysql=yes --with-dlz-bdb=no --with-dlz-filesystem=yes  --with-dlz-stub=yes --enable-ipv6

我得到一个错误:

 /opt/bind/bind-9.11.0-P3/lib/isc/.libs/libisc.so ../../lib/isc/.libs/libisc.so -lcrypto -L/usr/lib/mysql -lmysqlclient -lcrypt -lm -ldl -lz -lpthread
 /usr/bin/ld: cannot find -lmysqlclient
 collect2: error: ld returned 1 exit status
 make[2]: *** [named] Error 1
 make[2]: Leaving directory `/opt/bind/bind-9.11.0-P3/bin/named'
 make[1]: *** [subdirs] Error 1
 make[1]: Leaving directory `/opt/bind/bind-9.11.0-P3/bin'
 make: *** [subdirs] Error 1
我已经让它在一个CentOS 7盒子上工作,但是我在试图让它工作时安装了各种古怪的东西。我不知道为什么它会在那台机器上编译,我希望能够复制这个过程。因此,我创建了CentOS 7的新安装,并尝试了解如何使用DLZ支持编译Bind。绑定9.11.0-P3

我已经安装了mariadb libs,/usr/lib64/mysql目录如下所示


ll/usr/lib64/mysql/
总数16884
-rw-r--r--。1根根2687 11月14日15:15信息_BIN
-rw-r--r--。1根根170根2016年9月12日信息
lrwxrwxrwx。1 root root 3月17日29日16:40 libmysqlclient_r.so->libmysqlclient.so
lrwxrwxrwx。1 root root 3月20日29日16:40 libmysqlclient.so->libmysqlclient.so.18
lrwxrwxrwx。1 root root 3月24日29日16:40 libmysqlclient.so.18->libmysqlclient.so.18.0
-rwxr-xr-x。1 root根3135736 11月14日15:17 libmysqlclient.so.18.0.0
lrwxrwxrwx。1根根根3月15日29日16:40 libmysqld.so->libmysqld.so.18
-rwxr-xr-x。1根根14116296 11月14日15:17 libmysqld.so.18
-rwxr-xr-x。1根根10474 11月14日15:14 mysqlbug
-rwxr-xr-x。1根根6758 11月14日15:15 mysql\u配置
drwxr-xr-x。2根根4096三月29日16:40插件

/usr/lib/mysql目录如下所示

ll/usr/lib/mysql/
总数0
drwxr-xr-x。2根根3月29日21:36插件

在绑定编译的机器上,/usr/lib/mysql文件夹看起来不同,当我在另一台机器上执行yum whatprovides时,我得到以下结果:


yum-whatprovides/usr/lib/mysql/libmysqlclient.so.18.0.0
加载的插件:FastTestMirror
从缓存的主机文件加载镜像速度
*基地:centos.mirror.ca.planethoster.net
*附加:centos.mirror.ca.planethoster.net
*更新:mirror.it.ubc.ca
*webstatic:us-east.repo.webstatic.com
1:mariadb-libs-5.5.52-1.el7.i686:mariadb/MySQL客户端所需的共享库
回购:基准
匹配自:
文件名:/usr/lib/mysql/libmysqlclient.so.18.0.0
1:mariadb-libs-5.5.52-1.el7.x86_64:mariadb/MySQL客户端所需的共享库
回购:@base
匹配自:
文件名:/usr/lib/mysql/libmysqlclient.so.18.0.0

在新安装中,我安装了这些mariadb软件包

yum list mariadb*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.its.sfu.ca
 * extras: centos.bhs.mirrors.ovh.net
 * updates: mirror.its.sfu.ca
Installed Packages
mariadb.x86_64                               1:5.5.52-1.el7                @base
mariadb-bench.x86_64                         1:5.5.52-1.el7                @base
mariadb-devel.x86_64                         1:5.5.52-1.el7                @base
mariadb-embedded.x86_64                      1:5.5.52-1.el7                @base
mariadb-embedded-devel.x86_64                1:5.5.52-1.el7                @base
mariadb-libs.x86_64                          1:5.5.52-1.el7                @base
mariadb-server.x86_64                        1:5.5.52-1.el7                @base
mariadb-test.x86_64                          1:5.5.52-1.el7                @base
Available Packages
请帮助我了解如何在CentOS 7上安装Bind with DLZ支持

添加'LDFLAGS=“-I/usr/include/mysql-L/usr/lib64/mysql”' 转到./configure命令

像这样

./configure--prefix=/usr--sysconfdir=/etc/bind--localstatedir=/var--mandir=/usr/share/man--infodir=/usr/share/info--enable threads--enable largefile--with libtool--enable shared--enable static--with openssl=/usr--with gssapi=/usr--gnu ld--with dlz postgres no--dlz mysql=yes with dlz bdb=no--with dlz=yes filesystem--使用dlz stub=yes--enable-ipv6-LDFLAGS=“-I/usr/include/mysql-L/usr/lib64/mysql”


我将/usr/lib64/mysql复制到/usr/lib/mysql,它马上就工作了。奇怪的是,当我手动将目录添加到配置文件时,它会忽略它。
yum list mariadb*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.its.sfu.ca
 * extras: centos.bhs.mirrors.ovh.net
 * updates: mirror.its.sfu.ca
Installed Packages
mariadb.x86_64                               1:5.5.52-1.el7                @base
mariadb-bench.x86_64                         1:5.5.52-1.el7                @base
mariadb-devel.x86_64                         1:5.5.52-1.el7                @base
mariadb-embedded.x86_64                      1:5.5.52-1.el7                @base
mariadb-embedded-devel.x86_64                1:5.5.52-1.el7                @base
mariadb-libs.x86_64                          1:5.5.52-1.el7                @base
mariadb-server.x86_64                        1:5.5.52-1.el7                @base
mariadb-test.x86_64                          1:5.5.52-1.el7                @base
Available Packages