« Perl 语言编程 第三版 在线版本 | 首页 | bind9的部分FAQ »

December 27, 2006

process `named' is using obsolete setsockopt SO_BSDCOMPAT

今天安装bind 9.3.3,成功安装后,message报如下错误
process `named' is using obsolete setsockopt SO_BSDCOMPAT

解决办法:

将Bind得tar包解压后,在其/lib/isc/unix/socket.c里面找到需要修改的代码:
首先找到这个 (在1297行附近):

#if defined(USE_CMSG) || defined(SO_BSDCOMPAT)
int on = 1;

改成:
#if defined(USE_CMSG)
int on = 1;


************************************************************
#ifdef SO_BSDCOMPAT
if (setsockopt(sock->fd, SOL_SOCKET, SO_BSDCOMPAT,
(void *)&on, sizeof on) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
UNEXPECTED_ERROR(__FILE__, __LINE__,
"setsockopt(%d, SO_BSDCOMPAT) %s: %s",
sock->fd,
isc_msgcat_get(isc_msgcat, ISC_MSGSET_GENERAL,
ISC_MSG_FAILED, "failed"),
strbuf);


/* Press on... /*
}
#endif

由 frank 发表于 December 27, 2006 10:59 PM

本网所有文章建立在 创作公用 协议下。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及以上“创作共用”声明。

发表评论




是否保存个人讯息?