Bug#638418: gcc-multilib: needs to ensure that /usr/include/asm is a symlink
Package: gcc-multilib
Version: 4:4.6.1-2
Severity: serious
I've been tearing my hair out WTF this suddenly happened:
,----
| $ echo '#include <errno.h>' > junk.c
| $ gcc -m64 -c junk.c
| In file included from /usr/include/bits/errno.h:25:0,
| from /usr/include/errno.h:36,
| from junk.c:1:
| /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or directory
`----
It turns out that /usr/include/asm is an empty directory and not a
symlink to i386-linux-gnu/asm as shipped in the package. And
linux-libc-dev has only recently switched to multiarch paths and dropped
the /usr/include/asm directory:
,----
| linux-2.6 (3.0.0-2) unstable; urgency=high
| [...]
| [ Ben Hutchings ]
| * linux-libc-dev: Install include/asm under arch-specific directory
| (thanks to Aurelien for correcting the directory); mark package as
| multi-arch-coinstallable (Multi-Arch: same)
`----
Possible solution: depend on linux-libc-dev (>= 3.0.0-2) on Linux
architectures and ship a postinst that converts /usr/include/asm into a
symlink if it's still a directory.
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)
Kernel: Linux 3.0.3-nouveau (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages gcc-multilib depends on:
ii cpp 4:4.6.1-2 GNU C preprocessor (cpp)
ii gcc 4:4.6.1-2 GNU C compiler
ii gcc-4.6-multilib 4.6.1-7 GNU C compiler (multilib files)
gcc-multilib recommends no packages.
gcc-multilib suggests no packages.
-- no debconf information
-- debsums errors found:
debsums: no md5sums for gcc-multilib
Reply to: