Hi Daniel, Thanks for pointing that out. I had done a fresh configure and make before submitting the patch. I am somehow not able to reproduce that error!
Checked out fresh source just now and tried again, still no luck. [root@rhel72ga-build-upstream qemu] 2016-11-01 08:51:15$ git apply ~/qemu/31Oct2016/0001-block-vxhs.c-Add-support-for-a-new-block-device-type.patch [root@rhel72ga-build-upstream qemu] 2016-11-01 08:51:31$ ./configure --enable-vxhs Install prefix /usr/local BIOS directory /usr/local/share/qemu binary directory /usr/local/bin library directory /usr/local/lib module directory /usr/local/lib/qemu libexec directory /usr/local/libexec include directory /usr/local/include config directory /usr/local/etc local state directory /usr/local/var Manual directory /usr/local/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /root/qemu_second_buildarea/qemu C compiler cc Host C compiler cc C++ compiler c++ Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1 -I/usr/include/libpng15 -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1 -I/usr/include/cacard -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/libusb-1.0 LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list aarch64-softmmu alpha-softmmu arm-softmmu cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu mips-softmmu moxie-softmmu or32-softmmu ppc64-softmmu ppcemb-softmmu ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu xtensaeb-softmmu xtensa-softmmu aarch64-linux-user alpha-linux-user armeb-linux-user arm-linux-user cris-linux-user i386-linux-user m68k-linux-user microblazeel-linux-user microblaze-linux-user mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user mipsn32el-linux-user mipsn32-linux-user or32-linux-user ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user sparc64-linux-user sparc-linux-user tilegx-linux-user x86_64-linux-user tcg debug enabled no gprof enabled no sparse enabled no strip binaries yes profiler no static build no pixman system SDL support yes (1.2.15) GTK support no GTK GL support no VTE support no TLS priority NORMAL GNUTLS support yes GNUTLS rnd yes libgcrypt no libgcrypt kdf no nettle yes (2.7.1) nettle kdf yes libtasn1 yes curses support yes virgl support no curl support yes mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support yes VNC support yes VNC SASL support yes VNC JPEG support yes VNC PNG support yes xen support no brlapi support yes bluez support yes Documentation yes PIE yes vde support no netmap support no Linux AIO support yes ATTR/XATTR support yes Install blobs yes KVM support yes COLO support yes RDMA support yes TCG interpreter no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support yes vhost-net support yes vhost-scsi support yes vhost-vsock support yes Trace backends log spice support yes (0.12.6/0.12.4) rbd support yes xfsctl support no smartcard support yes libusb yes usb net redir yes OpenGL support no OpenGL dmabufs no libiscsi support yes libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support yes coroutine backend ucontext coroutine pool yes debug stack usage no GlusterFS support yes Archipelago support no gcov gcov gcov enabled no TPM support yes libssh2 support yes TPM passthrough yes QOM debugging yes lzo support yes snappy support yes bzip2 support no NUMA host support yes tcmalloc support no jemalloc support no avx2 optimization yes replication support yes VxHS block device yes [root@rhel72ga-build-upstream qemu] 2016-11-01 08:52:22$ echo $? 0 Am I missing some step here? Should I just add #include <sys/uio.h> to qnio_api.h ? Doing a build on all platforms right now. Regards, Ashish On Tue, Nov 1, 2016 at 2:07 AM, Daniel P. Berrange <berra...@redhat.com> wrote: > On Mon, Oct 31, 2016 at 11:34:58PM -0700, Ashish Mittal wrote: >> Source code for the qnio library that this code loads can be downloaded >> from: >> https://github.com/MittalAshish/libqnio.git > > Your patch is unable to compile against this, because the qnio_api.h > header is using a "struct iovec" type in its APIs, but not including > any header to define that type. This causes configure to fail > > cc -Werror -DHAS_LIBSSH2_SFTP_FSYNC -pthread -I/usr/include/glib-2.0 > -I/usr/lib64/glib-2.0/include -D_GNU_SOURCE -fPIE -DPIE -m64 -mcx16 > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes > -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes > -fno-strict-aliasing -fno-common -fwrapv > -I/home/berrange/src/external/libqnio/src -Wendif-labels > -Wno-shift-negative-value -Wmissing-include-dirs -Wempty-body > -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self > -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition > -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1 > -I/usr/include/libpng16 -I/usr/include/cacard -I/usr/include/nss3 > -I/usr/include/nspr4 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include > -I/usr/include/libusb-1.0 -o config-temp/qemu-conf.exe > config-temp/qemu-conf.c -Wl,-z,relro -Wl,-z,now -pie -m64 -g > -L/home/berrange/src/external/libqnio/src -lqnio > In file included from config-temp/qemu-conf.c:2:0: > /home/berrange/src/external/libqnio/src/qnio/qnio_api.h:186:54: error: > ‘struct iovec’ declared inside parameter list will not be visible outside of > this definition or declaration [-Werror] > int32_t iio_writev(void *apictx, int32_t rfd, struct iovec *iov, int iovcnt, > ^~~~~ > /home/berrange/src/external/libqnio/src/qnio/qnio_api.h:189:53: error: > ‘struct iovec’ declared inside parameter list will not be visible outside of > this definition or declaration [-Werror] > int32_t iio_readv(void *apictx, int32_t rfd, struct iovec *iov, int iovcnt, > ^~~~~ > cc1: all warnings being treated as errors > > > > Regards, > Daniel > -- > |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| > |: http://libvirt.org -o- http://virt-manager.org :| > |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|