ndiswrapper 1.7 Kompilierung > make schlägt fehl

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

ndiswrapper 1.7 Kompilierung > make schlägt fehl

Beitrag von slide_ » 05.01.2006 14:25:19

Moin!

Möchte ndiswrapper 1.7 kompilieren. Habe kernel-headers-2.6.8-2-386 installiert. Eigentlich verwende ich Kernel 2.6.8-1-386, doch dafür finde ich keine Header-Dateien.

Nun erhalte ich nach "make" folgende Ausgabe:

Code: Alles auswählen

make -C driver
make[1]: Entering directory `/home/slide/ndiswrapper-1.7/driver'
make -C /lib/modules/2.6.8-1-386/build SUBDIRS=/home/slide/ndiswrapper-1.7/driver \
                DRIVER_VERSION=1.7
make[2]: Entering directory `/usr/src/kernel-headers-2.6.8-2-386'
  LD      /home/slide/ndiswrapper-1.7/driver/built-in.o
  CC [M]  /home/slide/ndiswrapper-1.7/driver/hal.o
In file included from include/asm/thread_info.h:16,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from include/linux/module.h:10,
                 from /home/slide/ndiswrapper-1.7/driver/hal.c:17:
include/asm/processor.h:87: error: array type has incomplete element type
In file included from include/linux/netdevice.h:151,
                 from /home/slide/ndiswrapper-1.7/driver/hal.c:18:
include/linux/skbuff.h: In function 'skb_add_data':
include/linux/skbuff.h:1020: warning: pointer targets in passing argument 2 of 'csum_and_copy_from_user' differ in signedness
make[3]: *** [/home/slide/ndiswrapper-1.7/driver/hal.o] Fehler 1
make[2]: *** [_module_/home/slide/ndiswrapper-1.7/driver] Fehler 2
make[2]: Leaving directory `/usr/src/kernel-headers-2.6.8-2-386'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/slide/ndiswrapper-1.7/driver'
make: *** [all] Fehler 2
Habe mit ndiswrapper 1.5 die gleiche Fehlermeldung.
Kann damit jemand was anfangen? Wo könnte der Fehler liegen?

thx!
diese Zeile bitte nicht beschriften

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 05.01.2006 16:26:36

hey

ganz einfach - falsche kernel-headers; siehe dazu das howto auf meiner seite mal an: http://www.granig-morick.at/comawiki/Co ... einrichten

mfg - chiram

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 05.01.2006 21:27:17

Genau nach dem bin ich ja gegangen - ist sehr gut gemacht!

Problem: Ich nutze Kernel 2.6.8-1 und für den gibt es keine Headers mehr - was nun?
diese Zeile bitte nicht beschriften

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 05.01.2006 21:49:30

hey

vielen dank für das lob; installiere dir doch den 2.6.8-2er!

mfg - chiram

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 05.01.2006 21:54:00

Hmmm...stellt mich vor eine Aufgabe, die ich noch nie gemacht habe. Und so richtig Lust/Zeit auf stundenlanges rumkompilieren habe ich nicht :cry:
diese Zeile bitte nicht beschriften

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 05.01.2006 22:06:25

hey

Code: Alles auswählen

apt-get install kernel-image-2.6.8-2-386 kernel-headers-2.6.8-2-386
mfg - chiram

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 05.01.2006 22:19:48

Aha, so einfach geht das. Ist ja klasse!

Hat aber leider keine Besserung gebracht.

Code: Alles auswählen

make -C driver
make[1]: Entering directory `/home/slide/ndiswrapper-1.7/driver'
make -C /lib/modules/2.6.8-2-386/build SUBDIRS=/home/slide/ndiswrapper-1.7/driver \
                DRIVER_VERSION=1.7
make[2]: Entering directory `/usr/src/kernel-headers-2.6.8-2-386'
  LD      /home/slide/ndiswrapper-1.7/driver/built-in.o
  CC [M]  /home/slide/ndiswrapper-1.7/driver/hal.o
In file included from include/asm/thread_info.h:16,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from include/linux/module.h:10,
                 from /home/slide/ndiswrapper-1.7/driver/hal.c:17:
include/asm/processor.h:87: error: array type has incomplete element type
In file included from include/linux/netdevice.h:151,
                 from /home/slide/ndiswrapper-1.7/driver/hal.c:18:
include/linux/skbuff.h: In function 'skb_add_data':
include/linux/skbuff.h:1020: warning: pointer targets in passing argument 2 of 'csum_and_copy_from_user' differ in signedness
make[3]: *** [/home/slide/ndiswrapper-1.7/driver/hal.o] Fehler 1
make[2]: *** [_module_/home/slide/ndiswrapper-1.7/driver] Fehler 2
make[2]: Leaving directory `/usr/src/kernel-headers-2.6.8-2-386'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/slide/ndiswrapper-1.7/driver'
make: *** [all] Fehler 2
diese Zeile bitte nicht beschriften

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 05.01.2006 23:42:24

hey

hast du mit dem neuen kernel gebootet? die alten kernel-headers deinstalliert?

mfg - chiram

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 05.01.2006 23:50:17

dieser Fehler tritt normalerweise mit einer zu neuen Compilerversion auf, versuche gcc 3.3 oder gcc 3.4 (Je nachdem mit welcher dein Kernel erstellt wurde)

Gruß
gms

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 06.01.2006 00:42:58

@ gms

stimmt, auf das habe ich nun gar nicht gedacht

mfg - chiram

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 06.01.2006 18:01:00

Habe gcc 3.4 installiert und den Sym-Link von /usr/bin/gcc auf /usr/bin/gcc-3.4 gelegt - ebenso einen Symlink von cc auf selbigen.

make und make install liefen durch, ndiswrapper -i auch. Ein ndiswrapper -l bringt "driver present, hardware present".
Das folgende depmod -a lief noch ohne Probleme, aber

Code: Alles auswählen

modprobe ndiswrapper
FATAL: Error inserting ndiswrapper (/lib/modules/2.6.8-2-386/misc/ndiswrapper.ko): Invalid module format
dmesg:

Code: Alles auswählen

ndiswrapper: version magic '2.6.8-2 SMP preempt PENTIUM4 gcc-3.4' should be '2.6.8-2-386 preempt 386 gcc-3.3'
Änderung von /usr/bin/gcc und /usr/bin/cc auf /usr/bin/gcc-3.3
dmesg:

Code: Alles auswählen

ndiswrapper: version magic '2.6.8-2 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.8-2-386 preempt 386 gcc-3.3'
Was soll das für eine gcc-Version sein?
Die Debian-Package Suche ist derzeit leider offline.
diese Zeile bitte nicht beschriften

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 06.01.2006 18:21:31

gelöst:

Code: Alles auswählen

apt-get install ndiswrapper-utils
Und nachdem diese installiert waren, lief ein modprobe ndiswrapper durch.

Vielleicht solltest du das ansonsten wirklich sehr gute Tutorial um diese Punkte ergänzen?!

Danke Mädels!
diese Zeile bitte nicht beschriften

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.01.2006 18:31:46

Nein die gcc-Version stimmt jetzt, aber bei der Kompilierung vom ndiswrapper Modul wird eine falsche Kernelkonfiguration verwendet.
Du hast jetzt den Kernel 2.6.8-2-386 (ohne SMP Support ) installiert, der ndiswrapper Buildprozeß glaubt jedoch du hättest einen 2.6.8-2 mit SMP Support und für PENTIUM4 optimiert. Also werden die installierten Kernel-Headers entweder nicht genommen, oder du hast die falschen Kernel-Headers installiert.
Poste einmal die Ausgabe von "dpkg -l | grep kernel-headers
Zeigt einer der Links /usr/src/linux und/oder /lib/modules/`uname -r`/build, auf die falschen Kernel-header/sourcen, oder sind beide nicht vorhanden ?

Gruß
gms

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.01.2006 18:34:33

Verstehe ich jetzt nicht was die ndiswrapper-utils mit einer unterschiedlichen vermagic zu tun haben, aber Hautsache es funkt

Gruß
gms

[edit]
Die ndiswrapper-utils müssen ja (zumindest bei neueren Kernels) installiert sein:

Code: Alles auswählen

gms@gms1:~$ apt-cache depends ndiswrapper-modules-2.6.15-vk-1
ndiswrapper-modules-2.6.15-vk-1
  Depends: ndiswrapper-utils
  Depends: ndiswrapper-utils
  Recommends: kernel-image-2.6.15-vk-1
gms@gms1:~$
[/edit]

slide_
Beiträge: 60
Registriert: 22.04.2005 18:22:00
Wohnort: Berlin
Kontaktdaten:

Beitrag von slide_ » 06.01.2006 19:33:31

Code: Alles auswählen

dpkg -l | grep kernel-headers
kernel-headers-2.6.8-2           2.6.8-16sarge1 Header files related to Linux kernel version 2.6.8
kernel-headers-2.6.8-2-386       2.6.8-16sarge1 Linux kernel headers 2.6.8 on 386
linux-kernel-headers             2.6.13+0rc3-2   Linux Kernel Headers for development

ls -l /lib/modules/2.6.8-2-386/build
lrwxrwxrwx  1 root root 31 2006-01-05 22:23 /lib/modules/2.6.8-2-386/build -> /usr/src/kernel-headers-2.6.8-2
diese Zeile bitte nicht beschriften

chiram007
Beiträge: 365
Registriert: 17.12.2004 17:54:02
Wohnort: Kärnten - Österreich
Kontaktdaten:

Beitrag von chiram007 » 06.01.2006 19:40:11

hey

ja, stimmt schon, aber bei einen 2.6.8er-kernel müssen die nicht installiert sein; und mein howto ist für leute gedacht, die eine standard-installation von debian machen, und da ist das der kernel-2.6.8-2

mfg - chiram

Antworten