Probleme compilation de programmes (make)

Bonjour,
j’ai quelques problemes lors de la compilation de mes programmes avec la commande make
par exemple, il me met l’erreur suivante lorsque j’essai de compiler ndispwrapper :

make -C driver
make[1]: entrant dans le répertoire « /home/yannick/ndiswrapper-1.1/driver »
make -C /usr/src/linux SUBDIRS=/home/yannick/ndiswrapper-1.1/driver \
        NDISWRAPPER_VERSION=1.1 \
        EXTRA_VERSION= modules
make[2]: entrant dans le répertoire « /usr/src/linux-2.6.16.20 »

  WARNING: Symbol version dump /usr/src/linux-2.6.16.20/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/yannick/ndiswrapper-1.1/driver/hal.o
  CC [M]  /home/yannick/ndiswrapper-1.1/driver/iw_ndis.o
  CC [M]  /home/yannick/ndiswrapper-1.1/driver/loader.o
/home/yannick/ndiswrapper-1.1/driver/loader.c: Dans la fonction « register_devices »:
/home/yannick/ndiswrapper-1.1/driver/loader.c:861: attention : affectation d'untype pointeur incompatible
/home/yannick/ndiswrapper-1.1/driver/loader.c:873: error: structure has no member named `owner'
make[3]: *** [/home/yannick/ndiswrapper-1.1/driver/loader.o] Erreur 1
make[2]: *** [_module_/home/yannick/ndiswrapper-1.1/driver] Erreur 2
make[2]: quittant le répertoire « /usr/src/linux-2.6.16.20 »
make[1]: *** [default] Erreur 2
make[1]: quittant le répertoire « /home/yannick/ndiswrapper-1.1/driver »
make: *** [all] Erreur 2
zsh: exit 2     make

et des erreurs semblables pour d’autres programmes…

ou alors lors d’une tentative de compilation de modules externes pour le noyau…

make[4]: entrant dans le répertoire « /usr/src/linux-2.6.16.20 »
  CC [M]  /usr/src/modules/ndiswrapper/hal.o
  CC [M]  /usr/src/modules/ndiswrapper/iw_ndis.o
  CC [M]  /usr/src/modules/ndiswrapper/loader.o
/usr/src/modules/ndiswrapper/loader.c: Dans la fonction « register_devices »:
/usr/src/modules/ndiswrapper/loader.c:861: attention : affectation d'un type pointeur incompatible
/usr/src/modules/ndiswrapper/loader.c:873: error: structure has no member named`owner'
make[5]: *** [/usr/src/modules/ndiswrapper/loader.o] Erreur 1
make[4]: *** [_module_/usr/src/modules/ndiswrapper] Erreur 2
make[4]: quittant le répertoire « /usr/src/linux-2.6.16.20 »
make[3]: *** [default] Erreur 2
make[3]: quittant le répertoire « /usr/src/modules/ndiswrapper »
make[2]: *** [binary-modules] Erreur 2
make[2]: quittant le répertoire « /usr/src/modules/ndiswrapper »
make[1]: *** [kdist_build] Erreur 2
make[1]: quittant le répertoire « /usr/src/modules/ndiswrapper »
Module /usr/src/modules/ndiswrapper failed.

quelques informations : (processeur AMD 64, architecture debian 64bit)

21:29 root@yannick ~# uname -r
2.6.16.20-yannick
21:29 root@yannick ~# cat /proc/version
Linux version 2.6.16.20-yannick (root@yannick) (version gcc 3.3.5 (Debian 1:3.3.5-13)) #1 Wed Jun 21 19:14:15 UTC 2006
21:29 root@yannick ~# gcc -v
Lecture des spécification à partir de /usr/lib/gcc-lib/x86_64-linux/3.3.5/specs
Configuré avec: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-included-gettext --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc --disable-multilib x86_64-linux
Modèle de thread: posix
version gcc 3.3.5 (Debian 1:3.3.5-13)

Si vous avez une idée … Merci :slightly_smiling:[/code]

as-tu installé le paquet build-essential ?

oui oui il est installé, je viens de vérifier

j’ai vu sur des forums que ca pouvait venir de versions de gcc ??? mais je n’ai pas trouvé de solutions

Si ca viens de gcc essaye de le compiler avec une autre version tu force un autre gcc

bonsoir,
c’est que c’est pointu tout ça …
j’ai eu le probleme (zd1211) aussi … j’ai pu arriver à mes fins, finalement, pour ce qui est du gcc,
mais là je sait pas comment te retracer tout ce que j’ai fait …
je répond juste pour dire : si tu peux te passer de ndiswrapper, do it !!
quand ça veut pas, c’est galère …
pour compiler un module comme ça , il y a entre autres choses importantes :
dans /usr/src :
linux -> /path/des/sources/du/noyau *
dans /lib/modules/lenoyaupourliqueltucompilelemodule :
build -> /usr/src/linux
source -> /usr/src/linux

  • linux-source ou kernel-source-xxx

[quote]il me met l’erreur suivante lorsque j’essai de compiler ndispwrapper :
[/quote]
Et tu as essayé de l’installer avec
apt-get install …
:question:

oui j’ai vu ton post sur un forum usinagaz sur un probleme avec diswrapper. J’ai essayé d’installer directement le module correspondant a mon wifi (avec m-a) mais j’ai une erreur similaire :frowning:

sinon comment je fais pour tenter de compiler en forcant la version de gcc?

+1

1: sources kernel.org => instables sous debian (sources particularisées): il faut toujours prendre les sources officielles, ou au moins essayer d’installer les patchs qui s’appliquent au noyau debian standard.
2: kernel >2.6.3 => gcc-3.4 au moins.
3: la fabrication de modules sous debian se fait avec make-kpkg modules.

Moralité: informes toi sur les spécificités du noyau sous debian, ça ne se compile pas comme sur les autres distrib.

Conseil:
Même si tu ne les compiles pas, installes les sources DEBIAN d’un 2.6.16 ou du 2.6.17 de sid. Par le jeu des dependances, ça t’installera les versions de gcc, de make, et de yaird necessaires à la compil des noyaux recents.