Problème de compilation / include

Résolu/Fermé
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 11 déc. 2008 à 09:23
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 12 déc. 2008 à 12:38
Bonjour,
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 !!

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 déc. 2008 à 10:11
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.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
11 déc. 2008 à 11:44
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.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 déc. 2008 à 13:15
créer asm
sudo "cd /usr/src/linux-headers-2.6.26-1-common/include ; ln -s asm-x86 asm"
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
11 déc. 2008 à 17:24
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.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259 > Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023
11 déc. 2008 à 18:18
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 ?
0
Sarah_Linux Messages postés 7 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 11 décembre 2008
11 déc. 2008 à 12:22
Salut,
essaie avec gcc -Wall -ggdb -c ncdd_client.c ../../usr/src/linux-headers-2.6.26-1-common/include/asm-x86/alternative.h

si ça ne marche pas donne moi l'arborescence exacte du fichier ou tu compile au répertoire asm-x86

cordialement,

Sarah,
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
11 déc. 2008 à 17:26
Il prend peut être en compte le fichier passé en paramètre mais ne trouve pas plus comment inclure celui qui est sensé être dans un sous répertoire asm.
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 259
12 déc. 2008 à 12:38
Le problème a été résolu par l'auteur de la source, merci pour votre coup de main.
A+
0