Problème de compilation / include
Résolu
Flachy Joe
Messages postés
2303
Statut
Membre
-
Flachy Joe Messages postés 2303 Statut Membre -
Flachy Joe Messages postés 2303 Statut Membre -
Bonjour,
Je tente de compiler un utilitaire sous Debian Lenny, voilà ce que j'obtiens:
Je suis donc parti à la recherche de ce fichier alternative.h et je l'ai trouvé dans
/usr/src/linux-headers-2.6.26-1-common/include/asm-x86/
Comment je peut indiquer à make d'aller chercher dans ce dossier ? Le nom du répertoire "asm/" est codé en dur dans le fichier ncdd_client.c :
Je tente de compiler un utilitaire sous Debian Lenny, voilà ce que j'obtiens:
user@localhost:~/temp/ncdd-1.2beta1$ make -f Makefile.userspace gcc -Wall -ggdb -c ncdd_client.c ncdd_client.c:53:29: error: asm/alternative.h: Aucun fichier ou répertoire de ce type
Je suis donc parti à la recherche de ce fichier alternative.h et je l'ai trouvé dans
/usr/src/linux-headers-2.6.26-1-common/include/asm-x86/
Comment je peut indiquer à make d'aller chercher dans ce dossier ? Le nom du répertoire "asm/" est codé en dur dans le fichier ncdd_client.c :
#include <sys/wait.h> #include <sys/types.h> #include <sys/stat.h> #include <asm/alternative.h> #include <asm/atomic.h>Merci !!
A voir également:
- Problème de compilation / include
- Breach compilation c'est quoi - Guide
- Comment faire une compilation de musique - Forum Audio
- Erreur de compilation projet ou bibliothèque introuvable - Forum VB / VBA
- Message d'erreur Excel projet ou bibliotheque introuvable ! - Forum Excel
- Problème Compilation Dev-C++ - Forum C++
4 réponses
hello
ajouter un -I <dir> dans les options de gcc
man gcc
-I dir
Add the directory dir to the list of directories to be searched for header files.
ajouter un -I <dir> dans les options de gcc
man gcc
-I dir
Add the directory dir to the list of directories to be searched for header files.
Merci dubcek
J'ai bien essayé cette option mais ça ne marche pas : le répertoire contenant le fichier header n'est pas asm comme indiqué dans le code mais asm-x86, donc même en ajoutant le répertoire ça ne le trouve pas.
J'ai bien essayé cette option mais ça ne marche pas : le répertoire contenant le fichier header n'est pas asm comme indiqué dans le code mais asm-x86, donc même en ajoutant le répertoire ça ne le trouve pas.
Après la création du lien symbolique :
gcc -Wall -ggdb -c ncdd_client.c -I /usr/src/linux-headers-2.6.26-1-common/include/
In file included from ncdd_client.c:53:
/usr/src/linux-headers-2.6.26-1-common/include/asm/alternative.h:45: error: expected specifier-qualifier-list before ‘u8’
In file included from /usr/src/linux-headers-2.6.26-1-common/include/asm/atomic.h:4,
from ncdd_client.c:54:
/usr/src/linux-headers-2.6.26-1-common/include/asm/atomic_64.h: In function ‘atomic_add_unless’:
/usr/src/linux-headers-2.6.26-1-common/include/asm/atomic_64.h:398: warning: implicit declaration of function ‘unlikely’
/usr/src/linux-headers-2.6.26-1-common/include/asm/atomic_64.h:401: warning: implicit declaration of function ‘likely’Le fichier est trouvé mais il semble qu'il y a d'autre souci, je me demande dans quel mesure ce que j'essaie de compiler est compatible avec cette version.
Salut,
apparemment le fichier est bien dans /usr/include avec Debian Etch (paquet kernel-header), mais pas avec Lenny ou il apparaît dans le dossier sus mentionné (paquet linux-headers-2.6.26-1-common).
https://packages.debian.org/search?lang=fr&suite=etch&arch=i386&searchon=contents&keywords=asm%2Fatomic.h
Est ce que ça veut dire qu'il faut ré-écrire la source pour pouvoir compiler ?
apparemment le fichier est bien dans /usr/include avec Debian Etch (paquet kernel-header), mais pas avec Lenny ou il apparaît dans le dossier sus mentionné (paquet linux-headers-2.6.26-1-common).
https://packages.debian.org/search?lang=fr&suite=etch&arch=i386&searchon=contents&keywords=asm%2Fatomic.h
Est ce que ça veut dire qu'il faut ré-écrire la source pour pouvoir compiler ?