PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim lirc kompilieren



Try-and-Error
05.02.04, 21:27
Hi!

Wollte heute meine Fernbedienung zum Laufen bringen. Also lirc runtergeladen, entpackt, Kernel Sources installiert und ./configure ausgeführt. Bis hierhin lief alles gut. Wenn ich dann make ausführe kommt folgende Fehlermeldung:

lirc_i2c.c: In function `set_use_inc':
lirc_i2c.c:235: error: structure has no member named `inc_use'
lirc_i2c.c:236: error: structure has no member named `inc_use'
lirc_i2c.c: In function `set_use_dec':
lirc_i2c.c:245: error: structure has no member named `dec_use'
lirc_i2c.c:246: error: structure has no member named `dec_use'
lirc_i2c.c: In function `ir_attach':
lirc_i2c.c:334: error: structure has no member named `inc_use'
lirc_i2c.c:335: error: structure has no member named `inc_use'
lirc_i2c.c: In function `ir_detach':
lirc_i2c.c:345: error: structure has no member named `dec_use'
lirc_i2c.c:346: error: structure has no member named `dec_use'
make[5]: *** [lirc_i2c.o] Fehler 1
make[5]: Leaving directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
make[4]: *** [_mod_/usr/local/lirc-0.6.6/drivers/lirc_i2c] Fehler 2
make[4]: Leaving directory `/usr/src/linux-2.4.22-26mdk'
make[3]: *** [lirc_i2c.o] Fehler 2
make[3]: Leaving directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/usr/local/lirc-0.6.6/drivers'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/local/lirc-0.6.6'
make: *** [all] Fehler 2

Damit kann ich jetzt gar nichts anfangen. Braucht lirc noch irgendein Paket oder hab ich was falsch gemacht.

MiGo
05.02.04, 21:47
Die eigentliche Fehlermeldung kommt weiter oben. Poste doch mal die Komplette Fehlerausgabe, das macht das Problemlösen einfacher.
Und schau mal unter der FAQ von www.lirc.org nach, (ich rate einfach mal, ohne Fehlermeldung bleibt mir auch nix anderes übrig ;) ) wahrscheinlich sind die Kernelquellen nicht installiert/konfiguriert.

Gruss, MiGo

Try-and-Error
05.02.04, 22:08
Das war eigentlich die gesamte Fehlermeldung. Der Rest sah eigentlich ganz gut aus. Aber ich hänge die komplette Ausgabe mal unten an.
Die Kernelquellen hab ich schon nach installiert. Gab beim ./configure ne Fehlermeldung.
Nach der Installation gings dann.

Hier jetzt die ganze Ausgabe von make:

[root@localhost lirc-0.6.6]# make
make all-recursive
make[1]: Entering directory `/usr/local/lirc-0.6.6'
Making all in drivers
make[2]: Entering directory `/usr/local/lirc-0.6.6/drivers'
Making all in lirc_dev
make[3]: Entering directory `/usr/local/lirc-0.6.6/drivers/lirc_dev'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/usr/local/lirc-0.6.6/drivers/lirc_dev'
Making all in lirc_i2c
make[3]: Entering directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
DIR=`pwd`; (cd /usr/src/linux/; make SUBDIRS=$DIR obj-m=lirc_i2c.o modules)
/usr/src/linux-2.4.22-26mdk/scripts/pathdown.sh: line 4: TOPDIR: parameter null or not set
make[4]: Entering directory `/usr/src/linux-2.4.22-26mdk'
make -C /usr/local/lirc-0.6.6/drivers/lirc_i2c CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.22-26mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.22-26mdk/include/linux/modversions.h" MAKING_MODULES=1 modules
make[5]: Entering directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.22-26mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.22-26mdk/include/linux/modversions.h -DHAVE_CONFIG_H -I. -I. -I../.. -nostdinc -iwithprefix include -DKBUILD_BASENAME=lirc_i2c -c lirc_i2c.c -o lirc_i2c.o
lirc_i2c.c: In function `set_use_inc':
lirc_i2c.c:235: error: structure has no member named `inc_use'
lirc_i2c.c:236: error: structure has no member named `inc_use'
lirc_i2c.c: In function `set_use_dec':
lirc_i2c.c:245: error: structure has no member named `dec_use'
lirc_i2c.c:246: error: structure has no member named `dec_use'
lirc_i2c.c: In function `ir_attach':
lirc_i2c.c:334: error: structure has no member named `inc_use'
lirc_i2c.c:335: error: structure has no member named `inc_use'
lirc_i2c.c: In function `ir_detach':
lirc_i2c.c:345: error: structure has no member named `dec_use'
lirc_i2c.c:346: error: structure has no member named `dec_use'
make[5]: *** [lirc_i2c.o] Fehler 1
make[5]: Leaving directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
make[4]: *** [_mod_/usr/local/lirc-0.6.6/drivers/lirc_i2c] Fehler 2
make[4]: Leaving directory `/usr/src/linux-2.4.22-26mdk'
make[3]: *** [lirc_i2c.o] Fehler 2
make[3]: Leaving directory `/usr/local/lirc-0.6.6/drivers/lirc_i2c'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/usr/local/lirc-0.6.6/drivers'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/local/lirc-0.6.6'
make: *** [all] Fehler 2
[root@localhost lirc-0.6.6]#

MiGo
06.02.04, 08:14
/usr/src/linux-2.4.22-26mdk/scripts/pathdown.sh: line 4: TOPDIR: parameter null or not set
Das ist der Fehler. Lirc.Org sagt dazu :

When I try to compile LIRC I get this error message.

[...]
make[3]: Entering directory `/usr/src/lirc-0.6.4/drivers/lirc_serial'
DIR=`pwd`; (cd /usr/src/linux/; make SUBDIRS=$DIR obj-m=lirc_serial.o modules)
/usr/src/linux/scripts/pathdown.sh: TOPDIR: parameter null or not set
make[4]: Entering directory `/usr/src/linux'
make[4]: *** No rule to make target `lirc_serial.o', needed by `modules'.
[...]


This means that you did not set up and compile your current kernel from the given Linux kernel sources. Recompile your kernel and reboot before proceeding to compile LIRC. There is no other reliable way to get working LIRC modules than compiling your kernel yourself. During compilation LIRC uses the kernel sources to get the current kernel configuration.

Anscheinend gibt's aber einen Workaround hier (http://www.linuxforen.de/forums/showthread.php?s=&action=showpost&postid=703553#703553)

Viel Glück,
MiGo

Try-and-Error
06.02.04, 09:06
Also doch Kernel neu kompilieren. Werd ich mich heute abend mal ransetzen.

Danke!

ActionNews
06.02.04, 20:31
Nicht unbedingt. Eventuell muss nur die Konfiguration der Sourcen mit deinem installierten Kernel abgeglichen werden. Bei meinem SuSE gibt es z.B. einen Standard Kernel und einen Athlon-Kernel, die Sourcen sind aber für den Standrd-Kernel konfiguriert. Um jetzt die Sourcen mit meinem Athlon-Kernel abzugleichen kann ich im Verzeichnis /usr/src/linux ein "make oldconfig" machen. Normalerweise müsste nämlich unter /boot neben dem kompilierten Kernel auch eine Datei config liegen in der die Konfiguration der Sourcen für den installierten Kernel liegen müsste. Probier das mal dann geht es vielleicht. Aber keine Garantie, dass es klappt.

CU ActionNews

MiGo
07.02.04, 10:28
Anscheindend war der Link zu dezent... oder es hat nicht geklappt.
Zitat des Links :


"This means that you did not set up and compile your current kernel from the given Linux kernel sources."

# cd /usr/src/linux-2.4.21-166
# make cloneconfig
# make dep

Fertig.

Würde mich interessieren, ob das wirlich so geht ...

MiGo

Try-and-Error
10.02.04, 21:12
Den Link hat ich schon gesehen. Aber funktionieren tuts nicht.

Fehlermeldung:
make: *** Keine Regel, um »cloneconfig« zu erstellen. Schluss.

drcux
10.02.04, 21:32
:confused:

Entweder bist du nicht im richtigen Verzeichnis, oder du hast die Kernel-Sourcen garnicht erst installiert...

Try-and-Error
10.02.04, 21:43
Falsches Verzeichnis? Ich hab lirc entpackt, dann in dem entpackten Verzeichnis ./setup.sh ausgeführt, Hauppaugecard ausgewählt. Dann lief die Konfiguration. Und bei make brichts ab. Kernelsource hab ich eigentlich auch installiert. Wenn /usr/src/linux und /usr/src/linux-2.4.22-10mdk existieren sind die Quellen doch da, oder täusch ich mich jetzt?

Was hat denn dieses structure has no membername zu bedeuten???

lirc_i2c.c: In function `set_use_inc':
lirc_i2c.c:235: error: structure has no member named `inc_use'
lirc_i2c.c:236: error: structure has no member named `inc_use'

So weit läuft jetzt alles, aber diese dämliche Fernbedienung nicht :ugly:

drcux
10.02.04, 22:17
das make cloneconfig/dep musz in dem Verzeichis ausgeführt werden, wo die Kernel-Sourcen liegen...

Try-and-Error
10.02.04, 22:24
Ja, klar und die Sources liegen in /usr/src/linux-2.4.22-10mdk oder etwa nicht?

Ich glaub ich peil langsam gar nichts mehr. Sorry fürs Nerven.

drcux
10.02.04, 22:29
kommt mandrake mit "cloneconfig" nicht klar?

Naja, such mal in /boot nach ner Datei, die in etwa config oder ähnlich heist, kopiere sie nacht /usr/src/linux....

dann dort nochmal ein make dep

Try-and-Error
11.02.04, 10:12
Ich werd mir heut abend mal den neuen Kernel (2.6.2) installieren und es dann nochmal versuchen.
Spätestens dann sollten die Kernelquellen mit dem Kernel übereinstimmen.

Try-and-Error
11.02.04, 19:50
Original geschrieben von drcux
kommt mandrake mit "cloneconfig" nicht klar?

Naja, such mal in /boot nach ner Datei, die in etwa config oder ähnlich heist, kopiere sie nacht /usr/src/linux....

dann dort nochmal ein make dep

Grad ausprobiert, passiert aber da gleiche.:confused: