Problem mit Kernel Module

Guten morgen!
Ich habe folgendes Problem.
Ich will oss2jack installieren. Aber das benötigt fusd-kor-1.10-10 als Kernelmodule.
Also habe ich die Sourcen runtergeladen und "make" eingegeben:
Ergebnis:
Code:
root@Nimda05:/home/nimda05/fusd-kor-1.10-10# make
make.include:149: obj.i686-linux/kfusd.d: No such file or directory
set -e; gcc -MM -I/lib/modules/2.6.17-11-386/build/include -fPIC -Wall -O2 -g -I. -Iinclude -I././include  -L././obj.i686-linux  ././test/zero.c \
        | sed 's/\(zero\)\.o[ :]*/.\/.\/obj.i686-linux\/zero.o .\/.\/obj.i686-linux\/zero.d : /g' > obj.i686-linux/zero.d; \
        [ -s obj.i686-linux/zero.d ] || rm -f obj.i686-linux/zero.d
set -e; gcc -MM -I/lib/modules/2.6.17-11-386/build/include -fPIC -Wall -O2 -g -I. -Iinclude -I././include  -L././obj.i686-linux  ././kfusd/kfusd.c \
        | sed 's/\(kfusd\)\.o[ :]*/.\/.\/obj.i686-linux\/kfusd.o .\/.\/obj.i686-linux\/kfusd.d : /g' > obj.i686-linux/kfusd.d; \
        [ -s obj.i686-linux/kfusd.d ] || rm -f obj.i686-linux/kfusd.d
In file included from /lib/modules/2.6.17-11-386/build/include/linux/irq.h:21,
                 from /lib/modules/2.6.17-11-386/build/include/asm/hardirq.h:5,
                 from /lib/modules/2.6.17-11-386/build/include/linux/hardirq.h:6,
                 from /lib/modules/2.6.17-11-386/build/include/linux/interrupt.h:10,
                 from /lib/modules/2.6.17-11-386/build/include/asm/highmem.h:23,
                 from /lib/modules/2.6.17-11-386/build/include/linux/highmem.h:23,
                 from ././kfusd/kfusd.c:77:
/lib/modules/2.6.17-11-386/build/include/asm/irq.h:15:25: error: irq_vectors.h: No such file or directory
make.include:149: obj.i686-linux/kfusd.d: No such file or directory
set -e; gcc -MM -I/lib/modules/2.6.17-11-386/build/include -fPIC -Wall -O2 -g -I. -Iinclude -I././include  -L././obj.i686-linux  ././kfusd/kfusd.c \
        | sed 's/\(kfusd\)\.o[ :]*/.\/.\/obj.i686-linux\/kfusd.o .\/.\/obj.i686-linux\/kfusd.d : /g' > obj.i686-linux/kfusd.d; \
        [ -s obj.i686-linux/kfusd.d ] || rm -f obj.i686-linux/kfusd.d
In file included from /lib/modules/2.6.17-11-386/build/include/linux/irq.h:21,
                 from /lib/modules/2.6.17-11-386/build/include/asm/hardirq.h:5,
                 from /lib/modules/2.6.17-11-386/build/include/linux/hardirq.h:6,
                 from /lib/modules/2.6.17-11-386/build/include/linux/interrupt.h:10,
                 from /lib/modules/2.6.17-11-386/build/include/asm/highmem.h:23,
                 from /lib/modules/2.6.17-11-386/build/include/linux/highmem.h:23,
                 from ././kfusd/kfusd.c:77:
/lib/modules/2.6.17-11-386/build/include/asm/irq.h:15:25: error: irq_vectors.h: No such file or directory
gcc -Werror -fPIC -Wall -O2 -g -I. -Iinclude -I././include  -L././obj.i686-linux  ././libfusd/libfusd.c -c -o obj.i686-linux/libfusd.o
cc1: warnings being treated as errors
././libfusd/libfusd.c: In function ?fusd_dispatch_one?:
././libfusd/libfusd.c:444: warning: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [obj.i686-linux/libfusd.o] Fehler 1

*blablalba*
/lib/modules/2.6.17-11-386/build/include/asm/irq.h:15:25: error: irq_vectors.h: No such file or directory
*blablabla*

Ok die Datei fehlt. Aber wo kriege ich sie her?
uname -r: 2.6.17-11-386

Installiert sind:

linux-headers-2.6.17-11-386
linux-headers-386

An den headers liegt es wohl nicht oder?
Wodran dann? Ich verstehs nicht... :(
Ich hoffe Ihr könnt mir helfen.

Vielen Dank

Nimda05

PS.: ich benutz kubuntu
 
Am einfachsten installierst du dir vorkompilierte Kernel-Sources. Der Ablauf ist unter Debian und Ubuntu der gleiche und für Debian hab ich mal ein Howto auf HackerWiki.org veröffentlicht. Außerdem solltest du mal in die README- bzw. INSTALL-Datei der Modul-Sources schauen, ob ein einfaches 'make' wirklich ausreichend ist.
 
Also die Datei gehört schon dazu. Die kompletten Sourcen brauchst du eigtl nicht. Die Header sollten reichen. Schau doch mal unter /usr/src/linux/include/asm-i386/mach-default/ ob die da rumgeiert.
 
Original von blueflash
Die kompletten Sourcen brauchst du eigtl nicht. Die Header sollten reichen.

Das habe ich auch schon oft gedacht und bin dann an ähnliche Probleme gekommen, die Nimda05 hat. Seither empfehle ich vorkompilierte Kernel-Sources zu nutzen. Die Kernel-Header reichen eben nicht immer aus, vor allem, wenn die Fehlermeldungen anzeigen, daß einige Header gefunden werden, aber dort includete Header nicht, so wie es hier der Fall ist. Sollten die Dateien nämlich tatsächlich unter /usr/src/linux/include/asm-i386/mach-default/ liegen, müßten alle Referenzierungen in der irq.h händisch angepasst werden, was wieder neue Probleme nach sich ziehen wird. Manche Header werden nämlich erst beim Kompilieren der Sources an die richtigen Stellen kopiert bzw. gelinkt.
 
Zurück
Oben