[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#640672: moving files to arch specific include breaks compilations with -m32



On Tue, 2011-09-06 at 14:44 +0200, Daniel Bayer wrote:
> Package: linux-libc-dev
> Version: 3.0.0-3
> Severity: normal
> File: /usr/include/x86_64-linux-gnu/asm/errno.h
> 
> Hi,
> 
> since asm/errno.h was moved to the arch specific sub directory it is
> no longer possible to create 32 Bit Binaries on amd64:
> 
> | $ echo '#include <errno.h>' | gcc -E -o -  -m32 -                                                                       
> | [...]
> | # 1 "/usr/include/bits/errno.h" 1 3 4
> | # 25 "/usr/include/bits/errno.h" 3 4
> | # 1 "/usr/include/linux/errno.h" 1 3 4
> | In file included from /usr/include/bits/errno.h:25:0,
> |                  from /usr/include/errno.h:36,
> |                  from <stdin>:1:
> | /usr/include/linux/errno.h:4:23: fatal error: asm/errno.h: No such file or directory
> | compilation terminated.
> 
> I guess with multiarch I should install the i386 deb, too. But this is
> not yet supported by dpkg in unstable, is it?
[...]

It's not.  And since the kernel uses the same set of header files for
32-bit and 64-bit versions of each architecture, I wonder whether that
would make sense.

Maybe the right way to do this is:

- linux-libc-dev (multiarch: same) becomes a metapackage depending on
  linux-libc-dev-$SRCARCH
- linux-libc-dev-$SRCARCH (not multiarch) provides headers for all
  architectures built from kernel $SRCARCH, with symlinks

Ben.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: