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

Stefan Lippers-Hollmann s.L-H at gmx.de
Sat Aug 2 21:51:21 UTC 2008


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 -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_dev)"  -D"KBUILD_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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://lists.alioth.debian.org/pipermail/pkg-lirc-maint/attachments/20080802/c0bec72b/attachment.pgp 


More information about the Pkg-lirc-maint mailing list