Control: retitle -1 linux-libc-dev: squeeze upgrade issue: linux-libc-dev introduces multiarch headers before compiler upgrade Control: reassign -1 linux-libc-dev
Dominic Hargreaves <d...@earth.li> writes: > at the point I saw this error (at the and of an apt-get upgrade), > neither libc6-dev nor gcc-* had been upgraded. dkms had been upgraded to > 2.2.0.3-1.1. The other possibly-relevant packages upgraded at that point > were autoconf, autoconf2.13, automake, automake1.9, dpkg-dev, > linux-base, linux-libc-dev; could the newer dpkg-dev have cause dkms to > attempt to use multi-arch paths too soon? Ah, aha! It's not libc6-dev, it's linux-libc-dev. windlord:~> dpkg -L linux-libc-dev | grep errno.h /usr/include/linux/errno.h /usr/include/i386-linux-gnu/asm/errno.h /usr/include/asm-generic/errno.h Upgrading linux-libc-dev would have moved errno.h into the multiarch path, but your gcc didn't know to look there. And indeed, linux-libc-dev doesn't have any Breaks or other relations to try to force the compiler to be upgraded. I forgot that set of headers was in the linux-libc-dev package instead. I'll reassign this bug to linux-libc-dev. linux-libc-dev maintainers, when upgrading to squeeze, there is currently nothing preventing linux-libc-dev from being upgraded to a version that uses multiarch paths in advance of upgrading any compiler to understand those paths, which results in a broken C compilation environment. In this case, this affected dkms, since dkms runs a compiler from postinst scripts. I believe linux-libc-dev needs the same Breaks logic as libc6-dev, namely something like: Breaks: gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12) -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87d322c3q5....@windlord.stanford.edu