如果你用源码包安装过BIND8,那么这个问题应该是由于头文件和库文件的冲突。源码安装的BIND8缺省把它的头文件和库文件安装在/usr/local/include和/usr/local/lib下面,但是你系统带的BIND8的文件却是安装在/usr/include和/usr/lib下面,如果你的系统先用了/usr/local/include而不是/usr/include里面的头文件,同时你的系统的BIND8库文件版本比较低,那么就会发生冲突。
解决:编译的时候加入以下参数:
EXTRA_LDFLAGS=-lbind
注意:如果是BIND8.1.1的话,缺省的头文件和库文件都是放在/usr/local/bind下面,所以不会出现这个问题,不过为了更好地使用,最好编译的时候加入以下参数:
EXTRA_CFLAGS=-I/usr/local/bind/include
EXTRA_LDFLAGS=-L/usr/local/bind/lib
EXTRA_LIBS=-lbind