Problème de compilation / include

Résolu
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 !!

--
;-) Flachy Joe ;-)
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks
Configuration: Debian Lenny
Firefox 3.0.4

4 réponses

  1. Le problème a été résolu par l'auteur de la source, merci pour votre coup de main.
    A+
    1. 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,
      1. 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.
    2. 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.
      1. Contributeur
        créer asm
        sudo "cd /usr/src/linux-headers-2.6.26-1-common/include ; ln -s asm-x86 asm"
      2. @dubcekAprè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.
    3. Contributeur
      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.