Bug#493400: [Pkg-lirc-maint] Bug#493400: lirc-modules-source: Fails to build against 2.6.26-1-amd64 kernel

2008-08-02 Thread Stefan Lippers-Hollmann
tags 493400 + moreinfo unreproducible
thanks

Hi

On Samstag, 2. August 2008, Shane Wegner wrote:
 Package: lirc-modules-source
 Version: 0.8.3-2
 Severity: normal

Please re- post the build log in the message body, instead of the subject,
where it gets unreadable and truncated - if it still persists.

 -- System Information:
 Debian Release: lenny/sid
   APT prefers testing
   APT policy: (500, 'testing'), (450, 'stable'), (400, 'unstable')
 Architecture: amd64 (x86_64)
 
 Kernel: Linux 2.6.25-2-amd64 (SMP w/4 CPU cores)
 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
 Shell: /bin/sh linked to /bin/bash

[...]

 Versions of packages lirc-modules-source suggests:
 ii  kernel-package11.001-0.1 A utility for building Linux 
 kerne
 pn  linux-source  none (no description available)

Did you use module-assistant (preferred) or kernel-package?

 -- debconf information:
   lirc-modules-source/use_lirc_hints: true
   lirc-modules-source/parallel_irq: 7
   lirc-modules-source/do-build: false
   lirc-modules-source/parallel_timer: 65536
   lirc-modules-source/sir_type: Other
   lirc-modules-source/serial_softcarrier: false
   lirc-modules-source/kernel-source-not-found:
   lirc-modules-source/serial_transmitter: true
   lirc-modules-source/it87_type: Standard
   lirc-modules-source/not_needed:
   lirc-modules-source/serial_port: 0x3f8
 * lirc-modules-source/drivers: gpio, i2c, mceusb2
   lirc-modules-source/serial_irq: 4
   lirc-modules-source/serial_type: Other
   lirc-modules-source/kernel-source: /usr/src/linux/
   lirc-modules-source/sir_irq: 3
   lirc-modules-source/sir_port: 0x2f8
   lirc-modules-source/parallel_port: 0x378
 * lirc-modules-source/what_next:

Please attach /etc/lirc/lirc-modules-source.conf, whose on-disk contents 
don't necessarily reflect the debconf settings (re- evaluating the (ab-) 
use of debconf is something to be considered post lenny).

Are you sure to have linux-kbuild-2.6.26 and linux-headers-2.6.26-1-amd64 
installed? At least linux-kbuild-2.6 only got uploaded to Debian tonight, 
furthermore lirc 0.8.3-[12] builds and works fine for me (with proper 
linux-kbuild-2.6.26 and linux-headers-2.6.26-1-amd64).

[...]
  CC  /tmp/pkg/usr_src/modules/lirc-modules/commandir.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/commandir.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_atiusb.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_atiusb.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_bt829.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_bt829.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_cmdir.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_cmdir.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_dev.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_dev.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_i2c.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_i2c.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_igorplugusb.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_igorplugusb.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_imon.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_imon.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_it87.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_it87.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_mceusb.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_mceusb.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_mceusb2.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_mceusb2.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_sasem.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_sasem.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_serial.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_serial.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_sir.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_sir.ko
  CC  /tmp/pkg/usr_src/modules/lirc-modules/lirc_streamzap.mod.o
  LD [M]  /tmp/pkg/usr_src/modules/lirc-modules/lirc_streamzap.ko
[...]

$ dpkg --contents lirc-modules-2.6.26-1-amd64_0.8.3-2+2.6.26-1_amd64.deb | grep 
\\.ko$
-rw-r--r-- root/root 27332 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_mceusb2.ko
-rw-r--r-- root/root 25783 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/commandir.ko
-rw-r--r-- root/root 34584 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_serial.ko
-rw-r--r-- root/root 33030 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_imon.ko
-rw-r--r-- root/root 12320 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_bt829.ko
-rw-r--r-- root/root 27972 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_it87.ko
-rw-r--r-- root/root 26751 2008-08-02 21:42 
./lib/modules/2.6.26-1-amd64/misc/lirc_sasem.ko
-rw-r--r-- root/root 21313 2008-08-02 21:42 

Bug#493400: [Pkg-lirc-maint] Bug#493400: lirc-modules-source: Fails to build against 2.6.26-1-amd64 kernel

2008-08-02 Thread Stefan Lippers-Hollmann
Hi

On Samstag, 2. August 2008, Shane Wegner wrote:
 Hi,
 
 Here is the m-a buildlog as an attachment.

/usr/bin/make -f scripts/Makefile.build 
obj=/usr/src/modules/lirc/drivers/lirc_dev
   gcc-4.1 -Wp,-MD,/usr/src/modules/lirc/drivers/lirc_dev/.lirc_dev.o.d  
-nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.1.3/include -D__KERNEL__ 
-Iinclude  -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes 
-Wno-trigraphs -fno-strict-aliasing -fno-common 
-Werror-implicit-function-declaration -Os   -fno-stack-protector -m64 
-mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time 
-maccumulate-outgoing-args  -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 
-pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx 
-mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fomit-frame-pointer 
-Wdeclaration-after-statement -Wno-pointer-sign   -DIRCTL_DEV_MAJOR=61 
-DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. 
-I/usr/src/modules/lirc/drivers/lirc_dev/../.. 
-I/lib/modules/2.6.26-1-amd64/build/include/ 
-I/lib/modules/2.6.26-1-amd64/build/drivers/media/video/  -DMODULE 
-DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(lirc_dev)  
-DKBUILD_MODNAME=KBUILD_STR(lirc_dev) -c -o 
/usr/src/modules/lirc/drivers/lirc_dev/.tmp_lirc_dev.o 
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In function 'cleanup':
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:132: error: implicit 
declaration of function 'class_device_destroy'
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c: In function 
'lirc_register_plugin':
/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.c:382: error: implicit 
declaration of function 'class_device_create'
make[6]: *** [/usr/src/modules/lirc/drivers/lirc_dev/lirc_dev.o] Error 1
make[5]: *** [_module_/usr/src/modules/lirc/drivers/lirc_dev] Error 2

This bug is strange, as it should be impossible...

http://svn.debian.org/viewsvn/pkg-lirc/lirc/trunk/debian/patches/20_kcompat-2.6.26.patch
which is included in our lirc packages since 0.8.3-1, deals with exactly
this issue. 

I can only see two potential causes for that buildlog, either your 
/usr/src/lirc-modules.tar.bz2 isn't the one shipped by lirc 0.8.3 (do you 
eventually have a stale /usr/src/lirc-modules.tar.gz left, which might be 
found by module-assistant instead of the tar.bz2 shipped by lirc 0.8.3?) 
or your kernel doesn't identify itself as 2.6.26 (but Debian's kernel 
does)...

$ md5sum /usr/src/lirc-modules.tar.bz2
ec95ed2ae2f94120525fdca57e1f92cf  /usr/src/lirc-modules.tar.bz2

$ tar -xjf /usr/src/lirc-modules.tar.bz2

$ grep -R -B2 -A6 class_device_destroy modules/
modules/lirc-modules/kcompat.h-#if LINUX_VERSION_CODE  KERNEL_VERSION(2, 6, 26)
modules/lirc-modules/kcompat.h-
modules/lirc-modules/kcompat.h:#define lirc_device_destroy class_device_destroy
modules/lirc-modules/kcompat.h-
modules/lirc-modules/kcompat.h-#else
modules/lirc-modules/kcompat.h-
modules/lirc-modules/kcompat.h-#define lirc_device_destroy device_destroy
modules/lirc-modules/kcompat.h-
modules/lirc-modules/kcompat.h-#endif

In other words, the function is only referenced once in the whole 
lirc-modules-source 0.8.3-2 tarball and guarded against kernels = 2.6.26.

 Hth,
 Shane

Regards
Stefan Lippers-Hollmann


signature.asc
Description: This is a digitally signed message part.