Bibliotheque reseau lcrzo ------------------------------------------- | PROBLEMES CONNUS | ------------------------------------------- Ce fichier decrit les problemes connus (incompatibilites, fonctionnalites non supportees, erreurs, etc.). Si vous cherchez de l'aide (mode d'emploi, exemples, etc.), consultez plutot lcrzo-4.xx-doc_html.tgz. Vous pouvez aussi entrer "man lcrzo". Voici les titres des problemes decrits dans ce fichier (si vous rencontrez un probleme non decrit, merci de me contacter comme indique dans ./doc/problemreport_fr.txt) : LORS DE L'EXECUTION DE ./GENEMAKE 1: [Linux] exec ether_hostton ko Warning: vous etes sur une machine avec ether_hostton bogue. La bibliotheque lcrzo fonctionnera quand meme, mais lisez ../doc/probleminstallunix_fr.txt si vous voulez utiliser le contenu de /etc/ethers. [probleme dans /etc/nsswitch.conf] 2: [Linux] exec ether_hostton ko Warning: vous etes sur une machine avec ether_hostton bogue. La bibliotheque lcrzo fonctionnera quand meme, mais lisez ../doc/probleminstallunix_fr.txt si vous voulez utiliser le contenu de /etc/ethers. [probleme dans /etc/ethers] 3: ./genemake : Permission denied. 4: Erreur: le repertoire '/usr/.../toto' n'existe pas. 5: Erreur: la bibliotheque libpcap ne semble pas installee. 6: config.verif.tmp.c: pcap.h: Aucun fichier ou repertoire de de type. 7: pcap.h: net/bpf.h: Aucun fichier ou repertoire de de type. 8: /usr/bin/ld: cannot find -lpcap. LORS DE LA COMPILATION 9: [FreeBSD, Solaris] Warning : integer constant is unsigned in ANSI C, signed with -traditional. 10: [Solaris] Warning : implicit declaration of function `ether_hostton'. 11: [Linux] Erreur : /usr/include/linux/xxx.h: No such file or directory Erreur : /usr/include/asm/xxx.h: No such file or directory Erreur : linux/xxx.h: No such file or directory Erreur : asm/xxx.h: No such file or directory 12: [Solaris] Warning : SIG_IGN : function declaration isn't a prototype Warning : SIG_DFL : function declaration isn't a prototype Warning : SIG_xxx : function declaration isn't a prototype 13: [Linux] Warning dans /usr/include/bits/string2.h ------------------------------------------------------------------------------- Probleme 1 : Synthese du probleme : exec ether_hostton ko Warning: vous etes sur une machine avec ether_hostton bogue. La bibliotheque lcrzo fonctionnera quand meme, mais lisez ../doc/probleminstallunix_fr.txt si vous voulez utiliser le contenu de /etc/ethers. [probleme dans /etc/nsswitch.conf] Environnement concerne par le probleme : Glibc-2.?? (<2.2.1) avec "nisplus" ou "db" dans /etc/nsswitch.conf Origine du probleme : Le probleme se situe lors de l'appel systeme ether_hostton, lorsque l'entree "nisplus" ou "db" est dans /etc/nsswitch.conf. Effet, il y a une erreur dans la glibc (2.1.3) : nis/nss_nisplus/nisplus-ethers.c, ligne 234 : Il y a "if (name != NULL)" au lieu de "if (name == NULL)" Note : les developpeurs de glibc ont ete informes de ce bug. Ils ont integre le patch dans la glibc 2.2.1. Solution 1 : Editer /etc/nsswitch.conf afin de replacer : ethers: _nisplus_ou_nis_ou_db_ files par : ethers: files En effet, le probleme disparait en supprimant "nis", "nisplus" ou "db" de /etc/nsswitch.conf. Vous pouvez ensuite refaire un genemake (puis recompiler et reinstaller) afin de prendre en compte le fait que ce bug soit corrige. Solution 2 : Installez la glibc > 2.2.1. ------------------------------------------------------------------------------- Probleme 2 : Synthese du probleme : exec ether_hostton ko Warning: vous etes sur une machine avec ether_hostton bogue. La bibliotheque lcrzo fonctionnera quand meme, mais lisez ../doc/probleminstallunix_fr.txt si vous voulez utiliser le contenu de /etc/ethers. [probleme dans /etc/ethers] Environnement concerne par le probleme : /etc/ethers vide Origine du probleme : Le probleme apparait lorsque /etc/ethers existe, mais est vide. Effet, il y a une erreur dans la glibc (2.1.3) : inet/ether_hton.c, ligne 76 : fct a seulement 4 parametres au lieu de 5. Note : les developpeurs de glibc ont ete informes de ce bug. Ils ont integre le patch dans la glibc 2.2.1. Solution 1 : Effacer le fichier /etc/ethers si il ne sert a rien. Solution 2 : Installez la glibc > 2.2.1. ------------------------------------------------------------------------------- Probleme 3 : Synthese du probleme : ./genemake : Permission denied. Environnement concerne par le probleme : Tous Origine du probleme : file-4.xx-src.tgz n'a pas ete decompresse avec un programme correct. Solution : Employez : tar -zxvf file-4.xx-src.tgz ou gunzip file-4.xx-src.tgz ; tar -xvf file-4.xx-src.tar ------------------------------------------------------------------------------- Probleme 4 : Synthese du probleme : Erreur: le repertoire '/usr/.../toto' n'existe pas. Environnement concerne par le probleme : Tous Origine du probleme : Le repertoire 'toto' n'existe pas sur votre systeme. Solution 1 : Creer le repertoire avec : mkdir /usr/.../toto Solution 2 : Editer ../src/genemake pour specifier un nouveau repertoire d'installation. ------------------------------------------------------------------------------- Probleme 5 : Synthese du probleme : Erreur: la bibliotheque libpcap ne semble pas installee. Environnement concerne par le probleme : Tous Origine du probleme : La bibliotheque libpcap ne semble pas installee. Solution 1 : Libpcap n'est pas completement installee ou configuree Installez la depuis http://www.tcpdump.org/. Solution 2 : Verifiez que tous les paquetages de libpcap soient installes sur votre systeme. Par exemple, pour Debian, il faut installer libpcapxx.deb (pour avoir la bibliotheque dynamique) et libpcap-devxx.deb (pour avoir le fichier pcap.h). Solution 3 : [si l'erreur concerne pcap.h] Le fichier pcap.h n'est pas situe dans le bon repertoire : locate "pcap.h" Si vous le trouvez dans /quelquepart/pcap.h, il faut le lier : ln -s /quelquepart/pcap.h /usr/local/include/pcap.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 4 : [si l'erreur concerne bpf.h] Le fichier bpf.h n'est pas situe dans le bon repertoire : locate "bpf.h" Si vous le trouvez dans /quelquepart/bpf.h, il faut le lier : ln -s /quelquepart/bpf.h /usr/local/include/net/bpf.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 5 : [si l'erreur concerne bpf.h] Le fichier /usr/local/include/net/bpf.h ou /usr/include/net/bpf.h n'est pas sur votre systeme. Cherchez le cdrom de votre distribution, pour trouver le fichier "bpf.h", et installez le paquetage trouve. Solution 6 : [si l'erreur concerne -lpcap] Le fichier libpcap.a/libpcap.so n'est pas situe dans le bon repertoire : locate "libpcap.a" ; locate "libpcap.so" Si vous le trouvez dans /quelquepart/libpcap.a_ou_so, liez-le : ln -s /quelquepart/libpcap.a /usr/local/lib/libpcap.a ln -s /quelquepart/libpcap.so /usr/local/lib/libpcap.so Note : le repertoire "/usr/local/lib/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/lib/". ------------------------------------------------------------------------------- Probleme 6 : Synthese du probleme : config.verif.tmp.c: pcap.h: Aucun fichier ou repertoire de de type. Environnement concerne par le probleme : Tous Origine du probleme : La bibliotheque libpcap ne semble pas installee. Solution 1 : Libpcap n'est pas completement installee ou configuree Installez la depuis http://www.tcpdump.org/. Solution 2 : Verifiez que tous les paquetages de libpcap soient installes sur votre systeme. Par exemple, pour Debian, il faut installer libpcapxx.deb (pour avoir la bibliotheque dynamique) et libpcap-devxx.deb (pour avoir le fichier pcap.h). Solution 3 : [si l'erreur concerne pcap.h] Le fichier pcap.h n'est pas situe dans le bon repertoire : locate "pcap.h" Si vous le trouvez dans /quelquepart/pcap.h, il faut le lier : ln -s /quelquepart/pcap.h /usr/local/include/pcap.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 4 : [si l'erreur concerne bpf.h] Le fichier bpf.h n'est pas situe dans le bon repertoire : locate "bpf.h" Si vous le trouvez dans /quelquepart/bpf.h, il faut le lier : ln -s /quelquepart/bpf.h /usr/local/include/net/bpf.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 5 : [si l'erreur concerne bpf.h] Le fichier /usr/local/include/net/bpf.h ou /usr/include/net/bpf.h n'est pas sur votre systeme. Cherchez le cdrom de votre distribution, pour trouver le fichier "bpf.h", et installez le paquetage trouve. Solution 6 : [si l'erreur concerne -lpcap] Le fichier libpcap.a/libpcap.so n'est pas situe dans le bon repertoire : locate "libpcap.a" ; locate "libpcap.so" Si vous le trouvez dans /quelquepart/libpcap.a_ou_so, liez-le : ln -s /quelquepart/libpcap.a /usr/local/lib/libpcap.a ln -s /quelquepart/libpcap.so /usr/local/lib/libpcap.so Note : le repertoire "/usr/local/lib/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/lib/". ------------------------------------------------------------------------------- Probleme 7 : Synthese du probleme : pcap.h: net/bpf.h: Aucun fichier ou repertoire de de type. Environnement concerne par le probleme : Tous Origine du probleme : La bibliotheque libpcap ne semble pas installee. Solution 1 : Libpcap n'est pas completement installee ou configuree Installez la depuis http://www.tcpdump.org/. Solution 2 : Verifiez que tous les paquetages de libpcap soient installes sur votre systeme. Par exemple, pour Debian, il faut installer libpcapxx.deb (pour avoir la bibliotheque dynamique) et libpcap-devxx.deb (pour avoir le fichier pcap.h). Solution 3 : [si l'erreur concerne pcap.h] Le fichier pcap.h n'est pas situe dans le bon repertoire : locate "pcap.h" Si vous le trouvez dans /quelquepart/pcap.h, il faut le lier : ln -s /quelquepart/pcap.h /usr/local/include/pcap.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 4 : [si l'erreur concerne bpf.h] Le fichier bpf.h n'est pas situe dans le bon repertoire : locate "bpf.h" Si vous le trouvez dans /quelquepart/bpf.h, il faut le lier : ln -s /quelquepart/bpf.h /usr/local/include/net/bpf.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 5 : [si l'erreur concerne bpf.h] Le fichier /usr/local/include/net/bpf.h ou /usr/include/net/bpf.h n'est pas sur votre systeme. Cherchez le cdrom de votre distribution, pour trouver le fichier "bpf.h", et installez le paquetage trouve. Solution 6 : [si l'erreur concerne -lpcap] Le fichier libpcap.a/libpcap.so n'est pas situe dans le bon repertoire : locate "libpcap.a" ; locate "libpcap.so" Si vous le trouvez dans /quelquepart/libpcap.a_ou_so, liez-le : ln -s /quelquepart/libpcap.a /usr/local/lib/libpcap.a ln -s /quelquepart/libpcap.so /usr/local/lib/libpcap.so Note : le repertoire "/usr/local/lib/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/lib/". ------------------------------------------------------------------------------- Probleme 8 : Synthese du probleme : /usr/bin/ld: cannot find -lpcap. Environnement concerne par le probleme : Tous Origine du probleme : La bibliotheque libpcap ne semble pas installee. Solution 1 : Libpcap n'est pas completement installee ou configuree Installez la depuis http://www.tcpdump.org/. Solution 2 : Verifiez que tous les paquetages de libpcap soient installes sur votre systeme. Par exemple, pour Debian, il faut installer libpcapxx.deb (pour avoir la bibliotheque dynamique) et libpcap-devxx.deb (pour avoir le fichier pcap.h). Solution 3 : [si l'erreur concerne pcap.h] Le fichier pcap.h n'est pas situe dans le bon repertoire : locate "pcap.h" Si vous le trouvez dans /quelquepart/pcap.h, il faut le lier : ln -s /quelquepart/pcap.h /usr/local/include/pcap.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 4 : [si l'erreur concerne bpf.h] Le fichier bpf.h n'est pas situe dans le bon repertoire : locate "bpf.h" Si vous le trouvez dans /quelquepart/bpf.h, il faut le lier : ln -s /quelquepart/bpf.h /usr/local/include/net/bpf.h Note : le repertoire "/usr/local/include/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/include/". Solution 5 : [si l'erreur concerne bpf.h] Le fichier /usr/local/include/net/bpf.h ou /usr/include/net/bpf.h n'est pas sur votre systeme. Cherchez le cdrom de votre distribution, pour trouver le fichier "bpf.h", et installez le paquetage trouve. Solution 6 : [si l'erreur concerne -lpcap] Le fichier libpcap.a/libpcap.so n'est pas situe dans le bon repertoire : locate "libpcap.a" ; locate "libpcap.so" Si vous le trouvez dans /quelquepart/libpcap.a_ou_so, liez-le : ln -s /quelquepart/libpcap.a /usr/local/lib/libpcap.a ln -s /quelquepart/libpcap.so /usr/local/lib/libpcap.so Note : le repertoire "/usr/local/lib/" peut ne pas etre dans le path cherche par le compilateur (c'est le cas du paquetage optionnel gcc pour Solaris8), utilisez donc "/usr/lib/". ------------------------------------------------------------------------------- Probleme 9 : Synthese du probleme : Warning : integer constant is unsigned in ANSI C, signed with -traditional. Environnement concerne par le probleme : FreeBSD 3.1, FreeBSD 4.0, Solaris 2.8 Origine du probleme : Cette erreur se trouve dans la definition de SIOCGIFCONF, qui emploie un nombre etant signe. Solution : Il faut editer /usr/include/sys/ioccom.h pour mettre IOC_IN en unsigned (rajouter le 'u') : "#define IOC_IN 0x80000000u" ------------------------------------------------------------------------------- Probleme 10 : Synthese du probleme : Warning : implicit declaration of function `ether_hostton'. Environnement concerne par le probleme : Solaris 2.x Origine du probleme : Les fonctions "ether_hostton" et "ether_ntohost" ne sont definies dans aucun include. Solution : Il faut editer le fichier "/usr/include/netinet/if_ether.h" afin d'y ajouter : int ether_hostton(char *hostname, struct ether_addr *e); int ether_ntohost(char *hostname, struct ether_addr *e); ------------------------------------------------------------------------------- Probleme 11 : Synthese du probleme : Erreur : /usr/include/linux/xxx.h: No such file or directory Erreur : /usr/include/asm/xxx.h: No such file or directory Erreur : linux/xxx.h: No such file or directory Erreur : asm/xxx.h: No such file or directory Environnement concerne par le probleme : Linux Origine du probleme : Les includes standard sont necessaires pour compiler. Solution 1 : Installer le paquetage libc6-dev_xxx Par exemple, sous Debian : libc6-dev_2.x.x-xx.deb. Solution 2 : Les includes du nouveau noyau doivent etre accessibles. Par exemple : ln -s /usr/src/linux-x.x.xx/include/asm /usr/include/asm ln -s /usr/src/linux-x.x.xx/include/linux /usr/include/linux ------------------------------------------------------------------------------- Probleme 12 : Synthese du probleme : Warning : SIG_IGN : function declaration isn't a prototype Warning : SIG_DFL : function declaration isn't a prototype Warning : SIG_xxx : function declaration isn't a prototype Environnement concerne par le probleme : Solaris Origine du probleme : Le prototype de SIG_xxx est incorrect. Solution : Editez /usr/include/sys/iso/signal_iso.h (ou /usr/include/sys/signal.h) pour remplacer : #define SIG_IGN (void(*)())1 par : #define SIG_IGN (void(*)(int))1 ------------------------------------------------------------------------------- Probleme 13 : Synthese du probleme : Warning dans /usr/include/bits/string2.h Environnement concerne par le probleme : Linux Origine du probleme : Les includes standard inlines ne compilent pas sans Warning. Solution : Editer /usr/include/string.h a la ligne 359 (peut varier, c'est juste avant "#include <bits/string2.h>") pour ajouter #define __NO_STRING_INLINES 1