fix libcap header issue on some distro 1, When build qemu-native on SLED 11.2, there is an error: ... | In file included from /usr/include/bits/sigcontext.h:28, | from /usr/include/signal.h:339, | from /buildarea2/tmp/work/i686-linux/qemu-native/1.4.0-r0/ qemu-1.4.0/include/qemu-common.h:42, | from fsdev/virtfs-proxy-helper.c:23: | /usr/include/asm/sigcontext.h:28: error: expected specifier- qualifier-list before '__u64' | /usr/include/asm/sigcontext.h:191: error: expected specifier- qualifier-list before '__u64' ... 2, The virtfs-proxy-helper.c includes and qemu-common.h in sequence. The header include map is: (`-->' presents `include') ... "virtfs-proxy-helper.c" --> ... "virtfs-proxy-helper.c" --> "qemu-common.h" --> --> --> --> --> --> --> ... 3, The bug is found on SLED 11.2 x86. In libcap header file /usr/include/sys/capability.h, it does evil stuff like this: ... 25 /* 26 * Make sure we can be included from userland by preventing 27 * capability.h from including other kernel headers 28 */ 29 #define _LINUX_TYPES_H 30 #define _LINUX_FS_H 31 #define __LINUX_COMPILER_H 32 #define __user 33 34 typedef unsigned int __u32; 35 typedef __u32 __le32; ... This completely prevents including /usr/include/linux/types.h. The above ` --> ' is prevented, and '__u64' is defined in . 4, Modify virtfs-proxy-helper.c to include last to workaround the issue. http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html http://patchwork.linuxtv.org/patch/12748/ Upstream-Status: Pending Signed-off-by: Hongxu Jia --- fsdev/virtfs-proxy-helper.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c --- a/fsdev/virtfs-proxy-helper.c +++ b/fsdev/virtfs-proxy-helper.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -26,7 +25,11 @@ #include "virtio-9p-marshal.h" #include "hw/9pfs/virtio-9p-proxy.h" #include "fsdev/virtio-9p-marshal.h" - +/* + * Include this one last due to some versions of it being buggy: + * http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html + */ +#include #define PROGNAME "virtfs-proxy-helper" #ifndef XFS_SUPER_MAGIC -- 1.7.10.4