Problème de compilation d'un module
Bonjour,
je suis en Debian sarge avec un noyau 2.4.27. J'ai installé les paquet
kernel-source, kernel -header et kernel-tree corespondant à mon noyau, et
j'ai tenté de compiler le module corerspondant au driver de ma carte Vidéo
(Via - Chipset S3 Unichrome VT8378).
La procédure fournie avec le driver est la suivante :
---------------------------------------------------------------------------
Building viafb as a module. (for Linux kernel 2.4)
Make sure you have the kernel sources in /usr/src/linux-2.4.
Change to the viafb directory, and then following below steps:
Step 1: change to folder /usr/src/linux-2.4.
# cd /usr/src/linux-2.4.
The linux-2.4 directory depend on your kernel version, so if
your
kernel version is
2.4.18-3, you should type "/usr/src/linux-2.4.18-3".
Step 2: copy viafb folder in current directory.
# cp -rf .../viafb ./
Step 3: change to viafb directory
# cd /viafb
Step 4: Clear all object file.
# make clean
Step 5: Make source code
# make
Note that if no any error, this step will be produced an
object fi
le "viafb.o".
Step 6: Install viafb.o framebuffer driver
# make install
---------------------------------------------------------------------------
J'ai créé les liens nécessaires pour recréer les arborescences demandées,
puis j'ai lancé un make clean.
Il a grogné en me disant q'il ne trouvait pas
/usr/src/linux-2.4.27-2-386/include/linux/version.h et config.h ... j'ai
donc copié ces deux fichiers depuis /usr/include/linux puis lancé un make,
et j'ai ces erreurs :
user@host:/usr/src/linux-2.4.27-2-386/viafb$ sudo make
gcc -Wall -DLINUX -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -O2 -pipe
-I/usr/src/linux-2.4.27-2-386/include -I. -Wstrict-prototypes
-fomit-frame-pointer -c -o viafbdev.o viafbdev.c
In file included from /usr/include/asm/system.h:5,
from /usr/include/asm/processor.h:18,
from /usr/include/asm/thread_info.h:13,
from /usr/include/linux/thread_info.h:21,
from /usr/include/linux/spinlock.h:19,
from /usr/include/linux/capability.h:45,
from /usr/include/linux/sched.h:7,
from /usr/include/linux/module.h:10,
from viafbdev.c:27:
/usr/include/linux/kernel.h:72: error: erreur de syntaxe before "size_t"
/usr/include/linux/kernel.h:74: error: erreur de syntaxe before "size_t"
In file included from /usr/include/linux/timex.h:186,
from /usr/include/linux/sched.h:11,
from /usr/include/linux/module.h:10,
from viafbdev.c:27:
/usr/include/linux/time.h:14: error: erreur de syntaxe before "time_t"
/usr/include/linux/time.h:16: error: erreur de syntaxe before '}' token
/usr/include/linux/time.h:20: error: erreur de syntaxe before "time_t"
[...]
viafbdev.c:2442: error: unknown field `fb_sync' specified in initializer
viafbdev.c:2442: attention : éléments en excès dans l'initialisation de la
structure
viafbdev.c:2442: attention : (près de l'initialisation de « viafb_ops »)
/usr/include/asm-generic/siginfo.h:53: error: storage size of `_pad' isn't
known
/usr/include/linux/stat.h:68: error: storage size of `atime' isn't known
/usr/include/linux/stat.h:69: error: storage size of `mtime' isn't known
/usr/include/linux/stat.h:70: error: storage size of `ctime' isn't known
/usr/include/linux/fs.h:262: error: storage size of `ia_atime' isn't known
/usr/include/linux/fs.h:263: error: storage size of `ia_mtime' isn't known
/usr/include/linux/fs.h:264: error: storage size of `ia_ctime' isn't known
/usr/include/linux/quota.h:226: error: storage size of `dq_dqb' isn't known
/usr/include/linux/fs.h:381: error: storage size of `i_atime' isn't known
/usr/include/linux/fs.h:382: error: storage size of `i_mtime' isn't known
/usr/include/linux/fs.h:383: error: storage size of `i_ctime' isn't known
/usr/include/linux/fs.h:515: error: storage size of `f_owner' isn't known
viafbdev.c:2428: error: storage size of `viafb_ops' isn't known
make: *** [viafbdev.o] Erreur 1
Des idées pour m'aider à résoudre ce problème de compilation ?
Merci par avance.
Reply to: