PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lirc_modules auf Debian


taylor
07.07.02, 17:47
Hi!

Ich bekomme einach nicht *mehr* das lirc_serial.o Modul kompiliert.

Mir sagt auch die Fehlerausgabe jemandem mehr als mir:


p3:/usr/src/modules/lirc$ fakeroot debian/rules binary-modules
sed -e "s!\$KVERS!`sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$/\1/p' /usr/src/linux/include/linux/version.h`!g; s!\$KSRC!/usr/src/linux!; s!\$KEMAIL!!; s!\$KMAINT!!; s!\$KDREV!"Custom.1.00"!; s!\$DEBDATE!Son, 07 Jul 2002 18:45:56 +0200!" debian/control.in > debian/control
dh_testdir
# Add here commands to compile the package.
/usr/bin/make debconf
make[1]: Entering directory `/usr/src/modules/lirc'
/usr/bin/make -C drivers SUBDIRS="lirc_serial" DEFS="-DHAVE_CONFIG_H -I. -I../.. -DLIRC_SERIAL_SOFTCARRIER -DLIRC_PORT=0x3f8 -DLIRC_IRQ=4 "
make[2]: Entering directory `/usr/src/modules/lirc/drivers'
Making all in lirc_serial
make[3]: Entering directory `/usr/src/modules/lirc/drivers/lirc_serial'
DIR=`pwd`; (cd /usr/src/linux/; make SUBDIRS=$DIR obj-m=lirc_serial.o modules)
/usr/src/2.4.19-rc1/scripts/pathdown.sh: TOPDIR: parameter null or not set
make[4]: Entering directory `/usr/src/2.4.19-rc1'
make -C /usr/src/modules/lirc/drivers/lirc_serial CFLAGS="-D__KERNEL__ -I/usr/src/2.4.19-rc1/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/2.4.19-rc1/include/linux/modversions.h" MAKING_MODULES=1 modules
make[5]: Entering directory `/usr/src/modules/lirc/drivers/lirc_serial'
gcc -D__KERNEL__ -I/usr/src/2.4.19-rc1/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/2.4.19-rc1/include/linux/modversions.h -DHAVE_CONFIG_H -I. -I../.. -DLIRC_SERIAL_SOFTCARRIER -DLIRC_PORT=0x3f8 -DLIRC_IRQ=4 -nostdinc -I /usr/lib/gcc-lib/i386-linux/2.95.4/include -DKBUILD_BASENAME=lirc_serial -c -o lirc_serial.o lirc_serial.c
In file included from /usr/lib/gcc-lib/i386-linux/2.95.4/include/syslimits.h:7,
from /usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:11,
from ../../drivers/lirc.h:6,
from lirc_serial.c:106:
/usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:117: No include path in which to find limits.h
lirc_serial.c:109: warning: #warning "Software carrier only affects transmitting"
lirc_serial.c:115: warning: #warning "Note: using rdtsc instruction"
make[5]: *** [lirc_serial.o] Fehler 1
make[5]: Leaving directory `/usr/src/modules/lirc/drivers/lirc_serial'


Vor allem das "/usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:117: No include path in which to find limits.h" stellt mich vor ein Problem.

Die Datei gibt's z.B. in /usr/include/limits.h und in /usr/src/linux

Any Hints?

slime
07.07.02, 21:33
na, mach mal bei configure extra include-paf dazu,, sieht man ja beim compiler da ist kein pfad mit "-I" angegeben wo der die datei findet. kannst auch die Makefile dazu editieren.

taylor
07.07.02, 21:55
Well... es gibt *kein* ./configure

Ich habe nur ein Makefile und ein debian/rules
Vieleicht finde ich ja darin was.

howey
11.07.02, 16:24
Am einfachsten geht es unter Debian, wenn Du Dir gleich einen neuen Kernel baust.

Also: Sourcen des Kernels gezogen, LIRC installiert und dann

make-kpkg kernel_image; make-kpkg modules_image

dann erhältst Du mehrere .deb Dateien (je nach Modulen, die Du noch hattest) die es einfach zu installieren gilt. Kein Streß beim Konfigurieren der Module. Lediglich ein "make configure" des Kernel bleibt Dir nicht erspart ;-(

Die ganze Prozedur ist übrigens in den LIRC Sourcen genau beschrieben.

taylor
11.07.02, 17:04
Danke, hab ich gelesen ;-)

Meinen aktuellen Kernel habe ich leider nicht mit den Debian-Utils gemacht, sonder ganz händisch mit "make bzimage".

Vieleicht versuch ich's ja doch nochmal, aber ich glaube echt, der Fehler liegt woanders.

Gruß,
Taylor

slime
12.07.02, 12:09
du kannst auch die makefile editieren,,
da ist mit sicherheit eine zeile extra-includes oder sonst was brauchbares wo du dann "-I/pfad" hinzufügen kannst

taylor
13.07.02, 14:27
Also:

Im Makefile findet sich nicht's zum Include Pfad, ich bin auch nicht sonderlich begabt im Umgang mit Makefiles.

Es scheint, als wäre das ein Kernel-Bug. Anscheinend hatten schon mehrere Leute das Problem mit 2.4.19pre's, aber eine Antwort hat mir google nicht geliefert.

Vieleicht zieh ich mir mal das tar von lirc.org und versuche, den Treiber daraus zu bauen.

Gruß,
Taylor

taylor
13.07.02, 14:34
So, gerade gemacht. Es liegt also nicht an Debian.

Habe mir das lirc.tar.bz2 gezogen, entpackt, configured und dann in driver/lirc_serial/ ein make angeworfen, leider kriege ich genau denselben Fehler.


In file included from /usr/lib/gcc-lib/i386-linux/2.95.4/include/syslimits.h:7,
from /usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:11,
from ../../drivers/lirc.h:6,
from lirc_serial.c:106:
/usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:117: No include path in which to find limits.h


Irgendwas läuft hier falsch *grübel*

EDIT: Habe jetzt den Link /usr/src/linux von /usr/src/2.4.19-rc1 auf /usr/src/2.4.18-int/ geaendert, und es laeuft. Liegt also reproduzierbar an den Kernelquellen, zumindest indirekt.
Bemerkenswerter Weise sind die limits.h Dateien der beiden Kernelversionen identisch. Irgendwie bin ich jetzt absolut ratlos.


Taylor

taylor
15.07.02, 16:07
Also nur, falls es noch jemanden ausser mir interessiert, und damit der Thread sinnvoll endet:

http://www.lirc.org/faq.html

Problem gelöst ;-)