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