spice backend fails to build on i386 with -Werror
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro QEMU |
Fix Released
|
Undecided
|
Unassigned | ||
qemu-linaro (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Because qemu-linaro 2012.01 is now based on a development release of qemu (1.0.50 instead of 1.0), the configure script turns on -Werror for building by default. This causes a problem for the recently-enabled spice support, because of some mismatched integer sizes on 32-bit systems.
CC i386-softmmu/qxl.o
/home/vorlon/
/home/vorlon/
/home/vorlon/
/home/vorlon/
/home/vorlon/
/home/vorlon/
cc1: all warnings being treated as errors
make[3]: *** [qxl.o] Error 1
This is a strange sort of bug; usually software gets size mismatches on 64-bit systems, not on 32-bit systems. In this case, spice upstream has defined a struct to use a 64-bit integer, so casting a 32-bit pointer in and out of it produces the above errors.
It may be an error that upstream is specifying uint64_t here instead of, say, intptr_t or unsigned long. So feel free to redirect this to spice upstream - since the spice-protocol package only produces headers and not a library, there are no ABI consequences to changing the type there AFAICS.
In the meantime I've worked around this failure in the Ubuntu package by passing --disable-werror for the spice build.
Related branches
Changed in qemu-linaro: | |
status: | Fix Committed → Fix Released |
Changed in qemu-linaro (Ubuntu): | |
status: | Triaged → Fix Committed |
Changed in qemu-linaro: | |
status: | Fix Committed → Fix Released |
Last time I asked, Spice simply doesn't work/isn't supported on 32 bit hosts. Better to disable spice on the 32 bit builds I guess?