[Pkg-lirc-maint] Bug#588027: FTBFS: lirc-modules/lirc_i2c.c:399: error: unknown field ‘id’ specified in initializer
Stefan Lippers-Hollmann
s.L-H at gmx.de
Sun Jul 11 23:02:17 UTC 2010
retitle 588027 lirc_i2c fails to build against linux >= 2.6.32
reassign 588027 lirc-modules-source
severity 588027 important
thanks
Hi
On Monday 12 July 2010, Peter Baumann wrote:
> Package: lirc
No, there isn't any problem with 'lirc', all of its 41 userspace drivers
are still working fine. The "only" problem is with the lirc_i2c module in
'lirc-modules-source'; reassigning accordingly.
> Version: 0.8.3-5
> Severity: grave
> Justification: renders package unusable
>
> Trying to build lirc-modules-source with m-a fails with the following
> compile error. This renders the package unusable and unappropriate for
> squeeze.
One (lirc_i2c) module out of 14 fails to build against 2.6.32, while this
needs to be fixed urgently, I don't consider it to "render[s] the package
unusable and unappropriate for squeeze" for all users and (even common)
configurations. Even less, as building lirc_i2c can be disabled through
debconf. Therefore I'm downgrading the severity of this bug from RC to
"important".
$ dpkg --contents lirc-modules-2.6.32-5-686_0.8.3-5+2.6.32-17_i386.deb | grep lib\\/modules.*ko$
-rw-r--r-- root/root 5916 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_bt829.ko
-rw-r--r-- root/root 15437 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_sasem.ko
-rw-r--r-- root/root 10813 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_igorplugusb.ko
-rw-r--r-- root/root 13332 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_streamzap.ko
-rw-r--r-- root/root 23638 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_atiusb.ko
-rw-r--r-- root/root 9592 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_cmdir.ko
-rw-r--r-- root/root 12592 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_mceusb.ko
-rw-r--r-- root/root 18103 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_mceusb2.ko
-rw-r--r-- root/root 15167 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/commandir.ko
-rw-r--r-- root/root 18491 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_imon.ko
-rw-r--r-- root/root 18757 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_serial.ko
-rw-r--r-- root/root 11831 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_sir.ko
-rw-r--r-- root/root 16454 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_dev.ko
-rw-r--r-- root/root 15599 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_it87.ko
Yes, I'm aware that this situation becomes worse in kernels >> 2.6.32, like
those present in experimental and that lirc needs to be fixed. However this
situation isn't as easy as it looks:
- the most current lirc upstream version needs patching for
kernel >= 2.6.32 support just as well (done in svn); 0.8.7 hasn't been
released yet.
- 'lirc' >= 0.8.6 introduces an FTBS on kfreebsd-{amd64,i386} (not fixed
yet)
- lirc >= 0.8.6 breaks the long standing ABI between kernel- and userspace,
therefore upgrades affecting 'lirc' and 'lirc-modules-$(uname -r) must
happen in lockstep (which doesn't seem to be easily expressable in
packaging terms).
- serious debconf refactoring is still pending, to meet 3.9.0 policy
requirements (started in svn, but not finished yet).
Any help with these issues is always seriously appreciated, especially in
regards to the mandatory debconf changes - which is the most blocking
sub-topic (and also preventing yet another 0.8.3 upload).
> sudo m-a --verbose --text-mode build lirc
[...]
> # build module
> /usr/bin/make -C /usr/src/modules/lirc-modules KSRC=/lib/modules/2.6.32-5-amd64/build
> make[2]: Entering directory `/usr/src/modules/lirc-modules'
> /usr/bin/make -C /lib/modules/2.6.32-5-amd64/build SUBDIRS=/usr/src/modules/lirc-modules modules
> make[3]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
> CC [M] /usr/src/modules/lirc-modules/lirc_dev.o
> CC [M] /usr/src/modules/lirc-modules/lirc_i2c.o
> /usr/src/modules/lirc-modules/lirc_i2c.c:399: error: unknown field ‘id’ specified in initializer
> /usr/src/modules/lirc-modules/lirc_i2c.c:399: warning: initialization makes pointer from integer without a cast
> make[6]: *** [/usr/src/modules/lirc-modules/lirc_i2c.o] Error 1
[...]
If you don't need lirc_i2c for your hardware, you could disable it through
"dpkg-reconfigure lirc-modules-source" (however debconf selection of kernel
modules will be dropped in future versions).
Alternatively the following patch would fix kernel 2.6.32 compatibility for
lirc_i2c in lirc-modules-source 0.8.3-5 (tested on i386 and default module
selection):
--- a/drivers/lirc_i2c/lirc_i2c.c
+++ b/drivers/lirc_i2c/lirc_i2c.c
@@ -399,8 +399,8 @@ static struct i2c_driver driver = {
.name = "i2c ir driver",
},
#endif
- .id = I2C_DRIVERID_EXP3, /* FIXME */
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ .id = I2C_DRIVERID_EXP3, /* FIXME */
.attach_adapter = ir_probe,
.detach_client = ir_remove,
#else
Regards
Stefan Lippers-Hollmann
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-lirc-maint/attachments/20100712/44604108/attachment.pgp>
More information about the Pkg-lirc-maint
mailing list