#1 Le 08/03/2009, à 11:59
- TheRadio
[RESOLU] Build et installation serveur DHCP (ISC DHCP server 4.1.0)
Bonjour
[ je ne sais pas où poster sur le forum, alors excusez-moi si cette section n'est pas la bonne. Sinon, indiquez-moi le bon forum pour ce type de problème, merci]
Je souhaite installer une version récente du serveur DHCP ISC 4.1.0
(pour info la version du package dchp3-server est 3.1.1 à la date du 8/03/2009)
Je charge le .gz sur le site isc.org
je décompresse dans un répertoire, puis :
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc/dhcp --localstatedir=/var
et build :
make
mais j'obtiens une erreur dans le build :
make[2]: entrant dans le répertoire « /home2/dhcp-4.1.0/common »
if gcc -DHAVE_CONFIG_H -I. -I. -I../includes -I.. -DLOCALSTATEDIR='"/var"' -g -O2 -Wall -Werror -fno-strict-aliasing -MT parse.o -MD -MP -MF ".deps/parse.Tpo" -c -o parse.o parse.c; \
then mv -f ".deps/parse.Tpo" ".deps/parse.Po"; else rm -f ".deps/parse.Tpo"; exit 1; fi
cc1: warnings being treated as errors
parse.c: In function ‘parse_warn’:
parse.c:5677: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
parse.c:5678: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
parse.c:5679: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
parse.c:5681: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
parse.c:5683: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
parse.c:5684: erreur: ignoring return value of ‘write’, declared with attribute warn_unused_result
make[2]: *** [parse.o] Erreur 1
make[2]: quittant le répertoire « /home2/dhcp-4.1.0/common »
make[1]: *** [all-recursive] Erreur 1
make[1]: quittant le répertoire « /home2/dhcp-4.1.0/common »
make: *** [all-recursive] Erreur 1
Dans le code parse.c , les lignes 5677 à 5685 sont :
if (log_perror) {
write (STDERR_FILENO, mbuf, strlen (mbuf));
write (STDERR_FILENO, "\n", 1);
write (STDERR_FILENO, cfile -> token_line,
strlen (cfile -> token_line));
write (STDERR_FILENO, "\n", 1);
if (cfile -> lexchar < 81)
write (STDERR_FILENO, lexbuf, lix);
write (STDERR_FILENO, "^\n", 2);
}
A priori, STDERR_FILENO est défini dans le fichier d'include osdep.h :
#if !defined (STDERR_FILENO)
# define STDERR_FILENO 2
#endif
Mais a priori cela ne plait pas au compilateur !
Cela fait très longtemps que je n'ai pas mis le nez dans du code, alors si quelqu'un a une idée de résolution de ce problème, je suis preneur...
[edit et resolu]
Le problème vient du flag -Werror dans la ligne de commande gcc : il indique de traiter tout warning comme une erreur.
Le code n'est pas en cause, donc...
Un petit tweak sur le fichier Makefile et hop, ça devrait aller mieux...
Bonne journée à tous
Dernière modification par TheRadio (Le 09/03/2009, à 21:36)
Hors ligne
#2 Le 22/03/2009, à 13:02
- dYp
Re : [RESOLU] Build et installation serveur DHCP (ISC DHCP server 4.1.0)
merci pour le retour d'infos.
Hors ligne