On 05/30/2013 01:39 AM, Michal Privoznik wrote:
On 30.05.2013 05:04, Eric Blake wrote:
A cygwin build of the qemu driver fails with:
qemu/qemu_process.c: In function 'qemuPrepareCpumap': qemu/qemu_process.c:1803:31: error: 'CPU_SETSIZE' undeclared (first use in this function)
CPU_SETSIZE is a Linux extension in <sched.h>; a bit more portable is using sysconf if _SC_NPROCESSORS_CONF is defined (several platforms have it, including Cygwin). Ultimately, I would have preferred to use gnulib's 'nproc' module, but it is currently under an incompatible license.
I'm still chasing that down (https://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00105.html), but at this point, I'd feel safer delaying a gnulib bump until after 1.0.6 is out, since it has missed rc2.
I'll wait for a review on this one, particularly since I'm still trying to solve another qemu failure on cygwin:
qemu/qemu_monitor.c:418:9: error: passing argument 2 of 'sendmsg' from incompatible pointer type /usr/include/sys/socket.h:42:11: note: expected 'const struct msghdr *' but argument is of type 'struct msghdr *'
As far as I can tell, this seems like a bug in cygwin's gcc (4.5.3); still no idea how I will work around that yet.
-# define QEMUD_CPUMASK_LEN CPU_SETSIZE +# ifdef CPU_SETSIZE /* Linux */ +# define QEMUD_CPUMASK_LEN CPU_SETSIZE +# elif defined(_SC_NPROCESSORS_CONF) /* Cygwin */ +# define QEMUD_CPUMASK_LEN (sysconf(_SC_NPROCESSORS_CONF)) +# else +# error "Port me" +# endif
typedef struct _virQEMUCloseCallbacks virQEMUCloseCallbacks; typedef virQEMUCloseCallbacks *virQEMUCloseCallbacksPtr;
ACK
Thanks; I've pushed this patch. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org