qemu源码编译,make的时候出这些错,怎么解决呢?

gcc -Wall -O2 -g -fno-strict-aliasing -I. -I/home/virtuoso/virtuoso-master/qemu-0.9.1 -MMD -MP -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/virtuoso/virtuoso-master/qemu-0.9.1/slirp -DQEMU_IMG -c -o qemu-img-block-raw-posix.o block-raw-posix.c
block-raw-posix.c:242: error: SIGUSR2' undeclared here (not in a function)
block-raw-posix.c: In function
qemu_aio_init':
block-raw-posix.c:264: error: storage size of 'act' isn't known
block-raw-posix.c:268: warning: implicit declaration of function sigfillset'
block-raw-posix.c:271: warning: implicit declaration of function
sigaction'
block-raw-posix.c:264: warning: unused variable act'
block-raw-posix.c: In function
qemu_aio_wait_start':
block-raw-posix.c:348: warning: implicit declaration of function sigemptyset'
block-raw-posix.c:349: warning: implicit declaration of function
sigaddset'
block-raw-posix.c:350: warning: implicit declaration of function sigprocmask'
block-raw-posix.c:350: error:
SIG_BLOCK' undeclared (first use in this function)
block-raw-posix.c:350: error: (Each undeclared identifier is reported only once
block-raw-posix.c:350: error: for each function it appears in.)
block-raw-posix.c: In function qemu_aio_wait':
block-raw-posix.c:364: warning: implicit declaration of function
sigwait'
block-raw-posix.c: In function qemu_aio_wait_end':
block-raw-posix.c:370: error:
SIG_SETMASK' undeclared (first use in this function)
Makefile:136: recipe for target 'qemu-img-block-raw-posix.o' failed
make: *** [qemu-img-block-raw-posix.o] Error 1

SIGUSR2 SIG_BLOCK SIG_SETMASK 宏 包含在 #include 需要-I 指定包含目录

SIGUSR2 SIG_BLOCK SIG_SETMASK 宏,包含下```signal.h'''

#include <signal.h>