Re: Message d'erreur avec bind9
Stopping domaine name service: namedprocess `rndc' is using obsolete
setsockopt SO_BSDCOMPAT
Et au démarrage du serveur j'ai ce message la aussi :
Starting DHCP server : process `named' is using obsolete setsockopt
SO_BSDCOMPAT
A prioris, c'est un problème qui arrive après un changement de noyau.
en tout cas j'ai trouvé ce bug sur ggogle pour des gens qui passent en
noyau 2.6.
Il semble qu'il faut recompiler bind pour corriger le problème en
désactivant des options.
J'essaie de te traduire ce que j'ai trouvé ci dessous.. bonne lecture ;-)
reprise de ce que j'ai trouvé, je suppose que /* Press on... /* veut
dire qu'il n'a pas mis tout le texte.
...le gars vient de booter sur son nouveau noyau..
finalement, j'ai et pollué par des messages provenant de "named" et de
son controleur 'rndc' :
process `named' is using obsolete setsockopt SO_BSDCOMPAT
Maintenant il trouve que SO_BSDCOMPAT est une définition obsolète dans
les derbiers noyaux et cette erreur est générée par le processus bind.
Donc, j'ai décidé de télécharger le dernier source bind ( code source
9.2.3 ), corriger l'erreur et recompiler.
Aprés avoir décompacté le source, le code à changer pourra être trouvé
dans /lib/isc/unix/socket.c
Premièrement, localiser ceci (à peu près à la ligne 1297):
#if defined(USE_CMSG) || defined(SO_BSDCOMPAT)
int on = 1;
et le modifier comme ceci (c'est à dire supprimer la référence à
SO_BSDCOMPAT)
#if defined(USE_CMSG)
int on = 1;
Ensuite, localiser la sous-routine (à peu près ligne line 1384):
/* Press on... /*
#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
et commenter cette sous-routine complètement :
/* Remarques #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
End Remarques */
Enfin, compiler et installer... Les warnings vont stopper.
J'espère que tu as tout compris, bonne chance...
Reply to: