On Sat, Sep 01, 2012 at 12:35:17PM -0700, Russ Allbery wrote: > Russ Allbery <r...@debian.org> writes: > > > Dominic Hargreaves <d...@earth.li> writes: > > >> Package: openafs-modules-dkms > >> Version: 1.6.1-2 > >> Severity: important > > >> During an upgrade from squeeze to wheezy, I saw this: > > >> Setting up openafs-modules-dkms (1.6.1-2) ... > >> Removing old openafs-1.6.1 DKMS files... > > > [...] > > >> $ tail /var/lib/dkms/openafs/1.6.1/build/make.log > >> rm -f AFS_component_version_number.c.NEW > >> make[2]: Leaving directory `/var/lib/dkms/openafs/1.6.1/build/src/config' > >> gcc -O2 -I/var/lib/dkms/openafs/1.6.1/build/include -D_LARGEFILE64_SOURCE > >> -I. -c ./config.c > >> In file included from /usr/include/bits/errno.h:25, > >> from /usr/include/errno.h:36, > >> from ./config.c:16: > >> /usr/include/linux/errno.h:4:23: error: asm/errno.h: No such file or > >> directory > >> make[1]: *** [config.o] Error 1 > >> make[1]: Leaving directory `/var/lib/dkms/openafs/1.6.1/build/src/config' > >> make: *** [all] Error 2 > > > I'm very confused, since I've been using openafs-dkms on wheezy for quite > > some time and have never seen any problem like this. It builds fine with > > the current source and the current kernel. I *think* this is something > > specific to your local machine, although I'm not sure what. Could you be > > missing the complete set of linux-header packages, perhaps? > > > That file is provided by linux-headers-<version>-common: > > Oh, wait, no, I misread that. It's the userspace part that it's building, > and it's missing the normal asm/errno.h in > /usr/include/i386-linux-gnu/asm/errno.h. This is almost certainly > something on your local system; I suspect that compiling a simple program > like: > > #include <errno.h> > #include <stdio.h> > > int main(void) { printf("hello\n"); return 0 } > > would also fail. > > Do you have a recent enough compiler to have multiarch support? I wonder > if what happened was that libc6-dev was upgraded but the compiler wasn't, > and dkms ran with a compiler that doesn't understand the multiarch include > paths. There's a Breaks in libc6-dev that tries to prevent this from > happening, but during a dist-upgrade, sometimes orderings get confused. > I'm not sure if dkms ensures that the compiler is fully configured before > kicking off its postinst. At a glance, it *looks* like it should, but > sometimes those dependencies get confusing. > > The chain *should* be: > > openafs-modules-dkms -> dkms -> gcc -> gcc-4.7 > > and libc6-dev Breaks old versions of all gcc-* packages earlier than > gcc-4.7 (4.7 always had multiarch support), so that *should* force either > gcc to be upgraded to point to gcc-4.7 or an earlier gcc-* package to be > upgraded to have multiarch support before dkms is considered configured, > and openafs-modules-dkms should not be willing to run its postinst until > dkms is fully configured....
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? -- Dominic Hargreaves | http://www.larted.org.uk/~dom/ PGP key 5178E2A5 from the.earth.li (keyserver,web,email) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org