Bonsoir,
Donc comme annoncé ce matin sur le forum, impossible de compiler le
driver (v 1.9.6) sous FC2 test2. J'ai remis mon nez dedans ce soir (de
toute façon il fallait que j'enregistre les sorties de ./configure et
make), et tout le problème semble venir de l'absence de fichiers
d'entêtes dans le répertoire kernel-source.
Voici les détails.
1) ./configure ne trouve pas la version du kernel :
------------------------------------------
$ ./configure
loading cache ./config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking whether make sets ${MAKE}... (cached) yes
checking for main in -lc... (cached) yes
checking for dirent.h that defines DIR... (cached) yes
checking for opendir in -ldir... (cached) no
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking for fcntl.h... (cached) yes
checking for limits.h... (cached) yes
checking for sys/ioctl.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for syslog.h... (cached) yes
checking for unistd.h... (cached) yes
checking for working const... (cached) yes
checking for off_t... (cached) yes
checking for pid_t... (cached) yes
checking for size_t... (cached) yes
checking whether time.h and sys/time.h may both be included... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking for uid_t in sys/types.h... (cached) yes
checking whether gcc needs -traditional... (cached) no
checking return type of signal handlers... (cached) void
checking for strftime... (cached) yes
checking for gettimeofday... (cached) yes
checking for select... (cached) yes
checking for socket... (cached) yes
checking for strcspn... (cached) yes
checking for strdup... (cached) yes
checking for strerror... (cached) yes
checking for strspn... (cached) yes
checking for strtol... (cached) yes
checking for dhclient... (cached) dhclient
checking for pppd... (cached) yes
checking for pppoe... (cached) yes
checking for gdialog... (cached) gdialog
checking for kernel version... not found
checking for hotplug... (cached) 1
checking for update-usb.usermap... (cached) 0
checking for ifup... (cached) 1
checking for adictrl... (cached) eaglectrl
creating ./config.status
creating Makefile.common
error: kernel-sources cannot be found!
------------------------------------------
En fait j'ai jeté un oeil dans 'configure.sh' (ce que c'est que la
curiosité !) et il se trouve que le fichier d'entête
'include/linux/version.h' qui sert à fabriquer le n° de version du
kernel n'existe pas à l'endroit attendu !!! Trouvant ça louche, j'ai
téléchargé le kernel 2.6.3 de chez 'kernel.org', et, rien à dire, il n'y
est pas non plus... (mais comment fait la mdk 10 ????)
NB: je ne peux pas dire où il est car impossible de faire fonctionner la
commande locate sous FC2.
Pas découragé, je lance quand même la compilation, pour voir. C'est là
que les messages d'erreur s'accumulent (désolé, 'make >> fichier.txt'
n'a pas marché comme escompté, donc pas de sortie texte
intéressante...), notamment pour dire qu'il manque des fichiers, voire
même des constantes (mais c'est peut-être lié à l'absence de fichier,
les compilateurs C en rajoutant toujours un peu pour effrayer !). J'ai
bien tenté un petit lien pour récupérer le 'asm/bugs.h', mais il y a
tellement d'autres messages, j'ai l'impression qu'on a un problème plus
sérieux qu'un ou deux liens manquants.
J'ai aussi forcé le n° de kernel dans 'configure.sh' pour voir s'il s'en
sert lors de la compilation, mais ça n'a pas fait mieux marché l'affaire
bien que le nombre de messages d'erreur ait alors nettement diminué.
Voilà voilà.
Sur ce bonne soirée.
(oops, je l'ai fait en Français le message, j'espère que ça ne posera
pas de problèmes)
JM. Philippe