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

Re: Probable multiarch related problem in finding header file posix_types_32.h



Andreas Tille <andreas@an3as.eu> writes:

> Because neither Luis Ibanez nor me (as his mentor in the MoM project[1])
> can make some sense out of this hint we would like to ask for more
> precise advise what to do or what to read to get a clue about this.

> I'm quoting a short extract from Luis's mail to debian-mentors[2] - feel
> free to answer on this list if you feel appropriate.

> -------------------------------------------------------------------
> ...
> Linux Host 32
> Linux Host linux i386 x86_regs
> Source Directory List: sr_linux sr_i386 sr_x86_regs sr_unix_gnp
> sr_unix_cm sr_unix_nsb sr_unix sr_port_cm sr_port
> make[3]: Entering directory `/tmp/buildd/fis-gtm-5.4-002B/pro/obj'
> /usr/include/i386-linux-gnu/asm/posix_types.h:2:30: fatal error:
> posix_types_32.h: No such file or directory
> compilation terminated.
> /usr/include/i386-linux-gnu/asm/posix_types.h:2:30: fatal error:
> posix_types_32.h: No such file or directory
> compilation terminated.
> ...

> 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 "".

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>


Reply to: