[Libvir] [PATCH] Compile libvirt under Windows (Cygwin)

Richard Jones rjones at redhat.com
Mon Nov 26 15:10:43 UTC 2007

Daniel Veillard wrote:
>   Well that's really cool. I assume what you get in the end is the library
> with just the remote support, but which should be sufficient to connect to
> the boxes hosting the hypervisors and libvirt daemon, right ?

Yes, that's exactly right.  It should be enough to run virt-manager and 
connect it to remote hosts.  virt-manager needs some additional changes 
to work well in the remote case, but those changes are not Windows specific.

Obviously Windows Xen support won't work unless Xen is somehow ported to 
Windows.  However QEMU support is a possibility.  The main difficulty 
with QEMU support would be the networking code.

>> For the record I have now applied all the patches to CVS as posted, 
> [...]
>> Currently the main problem is persuading libtool to build Windows shared 
>> libraries (DLLs).  I've followed all the instructions in the manual and 
>> various things from the web and it just doesn't work (as Dan said "Isn't 
>> libtool supposed to sort this out?").
>   Hum, also one of the problem i found out quickly with libxml2 on windows
> is that most people just can use cygwin, some just fallback to mingw for 
> licencing issues but a large majority use some kind of Microsoft compilers,
> and getting a DLL which works with more than one can be seriously challenging.

Yes, I punted on getting libvirt to work with VC++.  From my past 
experience this would require very invasive changes to the code (eg. 
removing all gcc-isms, adding lots of Windows-isms).

Cygwin still builds Windows native *.exe and *.dll (well, the latter 
_if_ I can get it working :-)  AIUI all that is needed is to ship the 
Cygwin DLL (CYGWIN1.DLL) and the *.exe should work everywhere.  I'm 
going to test this theory later.

>> Without having at least libvirtmod.dll, Python support is hard to do, 
>> which means of course that virt-manager doesn't work yet.
>   If the goal is to get virt-manager working, then yes cygwin should be just
> fine once the shared lib issue is fixed. I assume virsh remote support works
> now, right ?

Yes, see the screenshot in the first post in this thread.

>> Anyone who wants to try libvirt under Windows today, you will need 
>> libvirt from CVS + the attached patch to get it to build (but not yet to 
>> get shared libs working).
> [...]
>> Index: src/getaddrinfo.c
>> ===================================================================
>> RCS file: src/getaddrinfo.c
>> diff -N src/getaddrinfo.c
>> --- /dev/null	1 Jan 1970 00:00:00 -0000
>> +++ src/getaddrinfo.c	26 Nov 2007 12:36:02 -0000
>> @@ -0,0 +1,593 @@
>> +/*
>> + * Copyright (c) 2001, 02  Motoyuki Kasahara
>> + *
>> + * Redistribution and use in source and binary forms, with or without
>> + * modification, are permitted provided that the following conditions
>> + * are met:
>> + * 1. Redistributions of source code must retain the above copyright
>> + *    notice, this list of conditions and the following disclaimer.
>> + * 2. Redistributions in binary form must reproduce the above copyright
>> + *    notice, this list of conditions and the following disclaimer in the
>> + *    documentation and/or other materials provided with the distribution.
>   Ouch, that's not really something we can embbed generally ...

I'm going to look at an alternate implementation (in gnulib), but what 
is the problem with this license?


More information about the libvir-list mailing list