On Tue, Feb 14, 2012 at 12:34:41AM -0800, Russ Allbery wrote: > > and goes on an on, repeating the error about posix_types_32.h. > > -------------------------------------------------------------------
> > It would help if you could confirm that this is actually an issue caused > > by multiarch migration and what kind of changes might help. > This looks like some sort of more prosaic problem to me. Somehow, > posix_types.h was included properly (which means that you have > linux-libc-dev installed and the compiler is searching the arch-specific > paths for headers), but it can't find posix_types_32.h. On an i386 > system, both of those files are in linux-libc-dev. > The complete contents of posix_types.h is: > # ifdef __i386__ > # include "posix_types_32.h" > # else > # include "posix_types_64.h" > # endif > So, for some reason, include of a file with "" is not searching the same > directory that the header file itself was found in. > One of the things that's missing from the above is any hint of what > compiler flags are in use. The gcc flag -I- can cause this behavior since > it changes the handling of #include "". Where we've run across similar problems with posix_types.h in the recent past, it has indeed been due to the use of "gcc -I-". This is tied to multiarch, in that moving linux-libc-dev headers to the multiarch include directory triggered the problem; ultimately though I think this is a bug in linux-libc-dev for using #include "" here. In any case it can usually be worked around by not using -I-. Cf. bug #637419. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: Digital signature