Précédent   Forum des professionnels en informatique > Systèmes > Linux > Distributions > Debian
Debian Vos questions sur la distribution Debian
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 16h13   #1
Membre à l'essai
 
Homme
Étudiant
Inscription : février 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2011
Messages : 32
Points : 22
Points : 22
Par défaut linux/module.h est introuvable

Bonjour,

Lors de la compilation d'un programme en C qui a pour but de créer un module noyau, j'ai cette erreur de compilation :
linux/module.h : No such file or directory

Bien évidemment, cela signifie que la librairie module.h est manquante. Elle se trouve normalement dans le répertoire /usr/include/linux .

Cette librairie est normalement installée suite à la compilation du noyau et de ses headers. J'ai donc réinstallé les packets linux-headers-2.6.26 ... correspondant à mon kernel, le fichier module.h est désormais présent mais pas à la bonne place (en l'occurrence dans le répertoire usr/src/linux-headers-2.6.26-2-686/include/linux )

- où ais-je fais une erreur ?
- faut-il monter les répertoires pour rendre accessible la librairie ? si oui, comment ?
existe-t-il un moyen de vérifier que toute l'installation est correcte ?

Grazie mille !
tibet_gang est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/07/2011, 16h22   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 536
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 536
Points : 7 749
Points : 7 749
tu peux faire un lien symbolique entre le chemin/fichier attendu et le fichier réel tout simplement.

et bien sur tu dois aussi t'assurer que le PATH est suffisament renseigné pour trouver les dits fichiers ou liens .
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h42   #3
Membre confirmé
 
Inscription : mai 2006
Messages : 179
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 179
Points : 211
Points : 211
Bonjour,

L'option -I de gcc vous permet d'aller chercher les headers dans un autre répertoire que les répertoires par défaut.
Drawingrom est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 27/07/2011, 14h25   #4
Membre à l'essai
 
Homme
Étudiant
Inscription : février 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2011
Messages : 32
Points : 22
Points : 22
Bonjour,

j'ai créé le lien symbolique et ai modifié le PATH sans résultat (peut-être m'y suis-je mal pris).
Effectivement, j'avais oublié cette fameuse option -I qui fonctionne bien. cependant un nouveau problème est apparu :

mon fichier module.h désormais accessible par le compilateur s'appuie sur différentes librairies qui sont présentes dans le même répertoire mais qui restent pourtant introuvables !?

Que faire ?

Merci de vos réponses.
tibet_gang est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/07/2011, 15h51   #5
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 375
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : octobre 2008
Messages : 1 375
Points : 2 034
Points : 2 034
Si ce sont vraiment des librairies (et pas des headers), alors c'est le linker qui les cherche (pas le compilateur) et l'option est -L (pas -I).
matafan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/07/2011, 10h15   #6
Membre à l'essai
 
Homme
Étudiant
Inscription : février 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2011
Messages : 32
Points : 22
Points : 22
j'ai essayé avec les deux options mais le résultat reste le même, d'autres idées ?
tibet_gang est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 28/07/2011, 11h05   #7
Membre confirmé
 
Inscription : mai 2006
Messages : 179
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 179
Points : 211
Points : 211
Attention, pour l'option -L pdt le link, il faut faire pointer vers les fichiers .so / .ko (librairies dynamiques), pas vers les .h.

Vous devriez écrire votre commande gcc.
Drawingrom est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 11h01   #8
Membre à l'essai
 
Homme
Étudiant
Inscription : février 2011
Messages : 32
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2011
Messages : 32
Points : 22
Points : 22
Pour ce qui est de la création de module noyau, il est au final préférable de travailler avec les sources du noyau, dans mon cas linux-source-2.6.26 et non seulement avec les headers.

Ensuite, j'ai recompilé le noyau à partir de ces fichiers sources fraîchement téléchargés et ça fonctionne.
tibet_gang est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h07.


 
 
 
 
Partenaires

Hébergement Web