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

Re: qemu FTBFS on sparc: conflicting types of tcflag_t?



Hi Michael,

If the problem is definitively a system header problem, can you create a mostly-empty *.c file that has the two includes to demonstrate the problem? I can try to reproduce it on my machine at home. Also, if you have the time, can you check the headers themselves for #ifdefs or something (not sure how proficient you are with C and C preprocessor) that might guard double inclusion? Check if other architectures use similar definitions?

/usr/include/sparc-linux-gnu/asm/termbits.h:12:25
/usr/include/sparc-linux-gnu/bits/termios.h:25:22

On the system that builds OK, can you copy those two files and compare it to the system that doesn't work? Also, checking the gcc predefined macros (gcc -dM -E - < /dev/null) for each environment may help, especially if the tcflag_t type is selected based on something like the "bitness" (32 / 64) of the target. Finally, if it isn't just your system, a bug report would be really helpful with as much information and detective work as possible.


Patrick


On Tue, Jun 4, 2013 at 11:50 PM, Michael Tokarev <mjt@tls.msk.ru> wrote:
01.06.2013 14:44, Michael Tokarev пишет:
> 28.05.2013 19:02, Michael Tokarev wrote:
>> Hello.
>>
>> One of our packages started to FTBFS on Sparc, here's the first
>> build log that shows the issue:
>>
>>  https://buildd.debian.org/status/fetch.php?pkg=qemu&arch=sparc&ver=1.5.0%2Bdfsg-1&stamp=1369117249
>>
>> The relevant portion:
>>
>>   CC    i386-linux-user/linux-user/syscall.o
>> In file included from /usr/include/sparc-linux-gnu/asm/termios.h:5:0,
>>                  from /usr/include/linux/termios.h:5,
>>                  from /build/buildd-qemu_1.5.0+dfsg-1-sparc-34y5XW/qemu-1.5.0+dfsg/linux-user/syscall.c:92:
>> /usr/include/sparc-linux-gnu/asm/termbits.h:12:25: error: conflicting types for 'tcflag_t'
>> /usr/include/sparc-linux-gnu/bits/termios.h:25:22: note: previous declaration of 'tcflag_t' was here
>> make[2]: *** [linux-user/syscall.o] Error 1

Last version of qemu which was built successfully on sparc was
1.5.0~rc0 (according to the build logs).  The interesting
difference between 1.5.0~rc0 and current 1.5.0 is that now,
qemu has another #include in common headers, namely, it
added

  #include <pty.h>

before this place which includes <linux/termios.h>.
<pty.h> includes <termios.h>.  And it looks like on
sparc, <linux/termios.h> conflicts with <termios.h>
somehow.

I dunno why it only happens on sparc (the build is done
with -m32 fwiw), and whenever this makes sense, and
especially why I can't reproduce it on smetana.d.o.

But it looks like I'm talking to myself here.

Thanks,

/mjt


--
To UNSUBSCRIBE, email to debian-sparc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 51AEC398.40702@msgid.tls.msk.ru" target="_blank">http://lists.debian.org/[🔎] 51AEC398.40702@msgid.tls.msk.ru



Reply to: