Forum Linux.noyau Make et Ubuntu

Posté par .
Tags : aucun
0
2
avr.
2006
Bonjour,

je suis nouveau sur Ubuntu, et je rencontre des difficultés à compiler le driver de ma clé wifi USB.
Quand j'execute le make, j'ai le message suivant :
make -C /lib/modules/2.6.12-10-386/build SUBDIRS=/usr/src/RT25USB-SRC-V2.0.7.0 modules
make: *** /lib/modules/2.6.12-10-386/build: Aucun fichier ou répertoire de ce type. Arrêt.
make: *** [all] Erreur 2


uname -r :
2.6.12-10-386

ls /usr/src/

drwxr-xr-x 14 root root 4096 2006-04-01 12:13 ..
lrwxrwxrwx 1 root src 20 2006-04-01 17:42 linux -> linux-source-2.6.12/
drwxr-xr-x 18 root root 4096 2006-04-01 16:54 linux-headers-2.6.12-10
drwxr-xr-x 4 root root 4096 2006-04-01 16:54 linux-headers-2.6.12-10-386
drwxr-xr-x 19 root root 4096 2006-03-11 18:35 linux-source-2.6.12
drwxr-xr-x 3 root root 4096 2006-04-01 12:24 RT25USB-SRC-V2.0.7.0

ls /lib/modules/2.6.12-10-386/
lrwxrwxrwx 1 root root 20 2006-04-01 18:29 build -> linux-source-2.6.12/
drwxr-xr-x 2 root root 4096 2006-04-01 11:14 initrd
drwxr-xr-x 11 root root 4096 2006-04-01 11:14 kernel
drwxr-xr-x 2 root root 4096 2006-04-01 11:14 madwifi
-rw-r--r-- 1 root root 244258 2006-04-02 15:52 modules.alias
-rw-r--r-- 1 root root 69 2006-04-02 15:52 modules.ccwmap
-rw-r--r-- 1 root root 298510 2006-04-02 15:52 modules.dep
-rw-r--r-- 1 root root 813 2006-04-02 15:52 modules.ieee1394map
-rw-r--r-- 1 root root 1141 2006-04-02 15:52 modules.inputmap
-rw-r--r-- 1 root root 21256 2006-04-02 15:52 modules.isapnpmap
-rw-r--r-- 1 root root 226143 2006-04-02 15:52 modules.pcimap
-rw-r--r-- 1 root root 1135 2006-04-02 15:52 modules.seriomap
-rw-r--r-- 1 root root 123227 2006-04-02 15:52 modules.symbols
-rw-r--r-- 1 root root 315491 2006-04-02 15:52 modules.usbmap
drwxr-xr-x 2 root root 360 2006-04-02 15:52 volatile

Y a-t-il besoin d'autre chose en plus des linux-headers pour compiler sur Ubuntu ?

Merci
  • # surement à cause de ca...

    Posté par . Évalué à 1.

    d'apres le man du programme make

    -C dir
    Change to directory dir before reading the makefiles or doing any-
    thing else. If multiple -C options are specified, each is inter-
    preted relative to the previous one: -C / -C etc is equivalent to
    -C /etc. This is typically used with recursive invocations of
    make.

    ton

    make -C /lib/modules/2.6.12-10-386/build SUBDIRS=/usr/src/RT25USB-SRC-V2.0.7.0 modules


    essaie donc de se mettre dans le repertoire /lib/modules/2.6.12-10-386/build
    AVANT de commencer à compiler

    et du coup il ne trouve peut-etre pas de fichier makefile d'ou le message suivant


    make: *** /lib/modules/2.6.12-10-386/build: Aucun fichier ou répertoire de ce type. Arrêt.


    de plus :
    - tu fais pointer ton build sur les sources du noyau et non sur les headers
    - enfin dans le cas ou tu veux vraiment pointer vers les sources ou les headers ce serait plutot l'option -I (moins i majuscule)
  • # headers

    Posté par (page perso) . Évalué à 2.

    Installe linux-headers-386
    • [^] # Re: headers

      Posté par . Évalué à 1.

      Merci pour le coup de main. Alors j'ai installé linux-headers-386 (j'ai lancé apt-get) mais visiblement rien n'a changé (aucun répertoire n'a été ajouté dans mon /usr/src).
      J'ai toujours la même erreur lors du make.
      • [^] # Re: headers

        Posté par (page perso) . Évalué à 2.

        Normalement, tu n'a pas besoin de définir SUBDIRS.

        En étant à la racine des sources du pilote, tente :

        make -C /lib/modules/2.6.12-10-386/build M=$(pwd)
        • [^] # Re: headers

          Posté par . Évalué à 1.

          J'ai lancé la commande, il me répond :
          make: *** /lib/modules/2.6.12-10-386/build: Aucun fichier ou répertoire de ce type. Arrêt.
          • [^] # Re: headers

            Posté par (page perso) . Évalué à 2.

            bah tente

            make -C /lib/module/$(uname -r)/build M=$(pwd)

            M'enfin franchement, essaie de cogiter devant une erreur : regarde le contenu de /lib/modules, regarde quel paquets est installé.

            dpkg -L {nom de paquet} liste les fichier installé par un paquet
            dpkg -S {/chemin/vers/un/fichier} cherche le paquet qui fournit ce fichier.
            • [^] # Re: headers

              Posté par . Évalué à 1.

              je cogite, c'est bien pour ça que je comprends pas.
              J'ai bien un répertoire /lib/modules/2.6.12-10-386 dans lequel j'ai un /lib/modules/2.6.12-10-386/build -> linux-source-2.6.12/

              Et si je fais "cd /lib/modules/2.6.12-10-386/build", il ne me trouve rien.
              • [^] # Re: headers

                Posté par (page perso) . Évalué à 2.

                Attention, le lien symbolique pointe vers le dossier /lib/modules/2.6.12-10-386/linux-source-2.6.12 . As-tu créé manuellement ce lien si oui supprimer le et réinstalle les headers apt-get install --reinstall <le paquet reourné par dpkg -S /lib/modules/2.6.12-10/build>

                À plus.
                • [^] # Re: headers

                  Posté par . Évalué à 1.

                  Oui, j'avais un problème avec mon lien symbolique. Il me dirigeait vers /lib/modules/2.6.12-10-389/linux-source-2.6.12 (je l'ai créé en mettant une adresse relative, et non absolue)
                  J'arrive maintenant à lancer le make, mais je plante sur la compilation, j'ai des erreurs partout.
                  Mais c'est un autre problème...
        • [^] # Re: headers

          Posté par . Évalué à 1.

          Une idée peut-être de là où j'aurais pu me planter : j'ai fait un lien 'ln -s' vers mon répertoire de sources en /lib/modules/2.6.12-10-386/build
          Pourtant si je vais un cd vers ce lien symbolique, il ne me ramène pas vers mon répertoire de sources, mais j'ai un
          bash: cd: /lib/modules/2.6.12-10-386/build: Aucun fichier ou répertoire de ce type
          • [^] # Re: headers

            Posté par . Évalué à 1.

            Je confirme, j'avais bien un problème avec mon lie build. Je l'ai construit en mettant l'adresse relative de mon dossier de sources, au lieu de mettre le chemin complet.
            Merci pour l'aide.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.