Am Sonntag, 12. Januar 2003 22:59 schrieb David Haller:
On Sun, 12 Jan 2003, Thilo A. Coblenzer wrote:
also da war noch ein anderer Patch namens usbdnet-SuSE-8.0-2.4.18_91.patch.gz Diesen konnte ich ohne Fehlermeldung verwenden. Das make modules ist nach einiger Zeit mit einer Fehlermeldung abgebrochen.
Mail mal die letzten paar Zeilen (10 oder so)... ok, da sind sie: make[2]: Wechsel in das Verzeichnis Verzeichnis »/usr/src/linux-2.4.18.SuSE/abi/svr4« gcc -D__KERNEL__ -I/usr/src/linux-2.4.18.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DKBUILD_BASENAME=sysinfo -c -o sysinfo.o sysinfo.c sysinfo.c:9: linux/compile.h: Datei oder Verzeichnis nicht gefunden sysinfo.c: In function `svr4_sysinfo': sysinfo.c:83: `UTS_VERSION' undeclared (first use in this function) sysinfo.c:83: (Each undeclared identifier is reported only once sysinfo.c:83: for each function it appears in.) make[2]: *** [sysinfo.o] Fehler 1 make[2]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18.SuSE/abi/svr4« make[1]: *** [_modsubdir_svr4] Fehler 2 make[1]: Verlassen des Verzeichnisses Verzeichnis »/usr/src/linux-2.4.18.SuSE/abi« make: *** [_mod_abi] Fehler 2
Ich sage es vorsichtshalber nocheinmal: Mir geht es nur um usbnet.o Der Rest ist mir egal. Ich möchte dieses Modul kopieren.
insmod: Using /lib/modules/2.4.18-4GB/kernel/drivers/usb/usbdnet.o insmod: Symbol version prefix '' insmod: /lib/modules/2.4.18-4GB/kernel/drivers/usb/usbdnet.o: unresolved symbol __out_of_line_bug insmod: /lib/modules/2.4.18-4GB/kernel/drivers/usb/usbdnet.o: insmod /lib/modules/2.4.18-4GB/kernel/drivers/usb/usbdnet.o failed insmod: /lib/modules/2.4.18-4GB/kernel/drivers/usb/usbdnet.o: insmod usbdnet failed /etc/hotplug/usb.agent[1305]: ... can't load module usbdnet
Hat da jemand einen Tip für mich?
find /usr/src/linux/ -name '*.[ch]' | xargs grep -H '__out_of_line_bug'
Du muesstest das mind. einmal (im usbdnet-Kram) finden, interessant sind weitere Fundstellen... Also das funktioniert bei mir nicht. Ist das ein regulärer Ausdruck, der sagen soll: alle Dateien, die mit .c oder .h enden? Muß da nicht irgendwie ein "oder" rein? Schon ein find /usr/src/linux/ -name '*.[ch]' bringt nix. Allerdings entweder spinnt mein find gerade oder ich stelle mich blöd an! Nach ewigem herumprobieren hier die Ergebniss von *.h:
/usr/src/linux-2.4.18.SuSE/include/linux/kernel.h:extern void __out_of_line_bug(int line) ATTRIB_NORET; /usr/src/linux-2.4.18.SuSE/include/linux/kernel.h:#define out_of_line_bug() __out_of_line_bug(__LINE__) /usr/src/shk/include/linux/kernel.h:extern void __out_of_line_bug(int line) ATTRIB_NORET; /usr/src/shk/include/linux/kernel.h:#define out_of_line_bug() __out_of_line_bug(__LINE__) Und ein *.c findet nix. Könnt Ihr mir damit einen Tip geben? Mir sagt das nix! Gruß & Danke Thilo