OVH Cloud OVH Cloud

Problème de compilation d'un module

5 réponses
Avatar
Romain Broussard
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.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

5 réponses

Avatar
Jean-Michel OLTRA
bonjour,


Le mercredi 05 avril 2006, Romain Broussard a écrit...


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).



Il y a deux paquets kernel-header à installer. As tu installé les deux ?

--
jm



--
Pensez
Avatar
rom1
Le Wed, 05 Apr 2006 12:40:11 +0200, Jean-Michel OLTRA a écrit :


bonjour,


Le mercredi 05 avril 2006, Romain Broussard a écrit...


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).



Il y a deux paquets kernel-header à installer. As tu installé les deux ?

--
jm



Oui, j'ai installé les deux ... mais comme tu auras pu le constater
d'après mon message d'erreur, je n'ai pas copié le version.h et le
config.h, mais linké le /usr/include vers
/usr/src/linux-2.4.27-2-386/include.


--
Pensez
Avatar
Frédéric Bothamy
* rom1 [2006-04-05 21:57] :
Le Wed, 05 Apr 2006 12:40:11 +0200, Jean-Michel OLTRA a écrit :

>
> bonjour,
>
>
> Le mercredi 05 avril 2006, Romain Broussard a écrit...
>
>
>> 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).
>
> Il y a deux paquets kernel-header à installer. As tu installé les deux ?
>
> --
> jm

Oui, j'ai installé les deux ... mais comme tu auras pu le constater
d'après mon message d'erreur, je n'ai pas copié le version.h et le
config.h, mais linké le /usr/include vers
/usr/src/linux-2.4.27-2-386/include.



Il ne faut pas mélanger les fichiers d'inclusion utilisés pour l'espace
utilisateur (/usr/include) de ceux du noyau
(/usr/src/linux-2.4.27-2-386/include). Tu dois installer le paquet
kernel-headers correspondant à ton noyau. Celui-ci contient les fichiers
config.h et version.h qui te sont demandés.


Fred

--
Comment poser les questions de manière intelligente ?
http://www.gnurou.org/Writing/SmartQuestionsFr
Comment signaler efficacement un bug ?
http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean-Michel OLTRA
bonjour,


Le jeudi 06 avril 2006, Frédéric Bothamy a écrit...


Il ne faut pas mélanger les fichiers d'inclusion utilisés pour l'espace
utilisateur (/usr/include) de ceux du noyau
(/usr/src/linux-2.4.27-2-386/include). Tu dois installer le paquet
kernel-headers correspondant à ton noyau. Celui-ci contient les fichiers
config.h et version.h qui te sont demandés.




Et comme le paquet est bien fait, il fera le lien nécessaire, de
/usr/src/linux vers /usr/src/kernel-headers-<version>

--
jm



--
Pensez
Avatar
rom1
> il ne faut pas mélanger les fichiers d'inclusion utilisés pour
l'espace utilisateur (/usr/include) de ceux du noyau
(/usr/src/linux-2.4.27-2-386/include). Tu dois installer le paquet
kernel-headers correspondant à ton noyau. Celui-ci contient les
fichiers config.h et version.h qui te sont demandés.



OK, je n'avais pas bien compris la différence, maintenant c'est OK, j'ai
réussi à compiler mon module.

Merci.


--
Pensez