Index: docs/bindings.html.in =================================================================== RCS file: /data/cvs/libvirt/docs/bindings.html.in,v retrieving revision 1.1 diff -u -r1.1 bindings.html.in --- docs/bindings.html.in 23 Apr 2008 17:08:31 -0000 1.1 +++ docs/bindings.html.in 17 Sep 2008 15:24:47 -0000 @@ -2,19 +2,25 @@

Bindings for other languages

Libvirt comes with bindings to support other languages than -pure C. First the headers embeds the necessary declarations to -allow direct acces from C++ code, but also we have bindings for +pure C. First the headers embeds the necessary declarations to +allow direct access from C++ code, but also we have bindings for higher level kind of languages:

+

For information on using libvirt on Windows + please see the Windows + support page. +

Support, requests or help for libvirt bindings are welcome on the mailing list, as usual try to provide enough background information Index: docs/windows.html.in =================================================================== RCS file: /data/cvs/libvirt/docs/windows.html.in,v retrieving revision 1.1 diff -u -r1.1 windows.html.in --- docs/windows.html.in 23 Apr 2008 17:08:31 -0000 1.1 +++ docs/windows.html.in 17 Sep 2008 15:24:47 -0000 @@ -2,238 +2,39 @@

Windows support

+

-Instructions for compiling and installing libvirt on Windows. -

- -

- Binaries -

+ Libvirt can be compiled on Windows + using the free MinGW compiler. + You can also cross-compile to a Windows target + from a Fedora machine using the packages available + from + the Fedora MinGW project + (which includes a working libvirt specfile). +

+

-Binaries will be available from -the download area -(but we don't have binaries at the moment). -

-

- Compiling from source -

-

-These are the steps to compile libvirt and the other -tools from source on Windows. -

-

-You will need: -

-
    -
  1. MS Windows. Microsoft makes free (as beer) versions -of some of its operating systems available to -MSDN subscribers. -We used Windows 2008 Server for testing, virtualized under -Linux using KVM-53 (earlier versions of KVM and QEMU won't -run recent versions of Windows because of lack of full ACPI -support, so make sure you have the latest KVM). -
  2. -
  3. Cygwin's -setup.exe. -
  4. -
  5. A large amount of free disk space to install Cygwin. -Make sure you have 10 GB free to install most Cygwin packages, -although if you pare down the list of dependencies you may -get away with much less.
  6. -
  7. A network connection for Windows, since Cygwin downloads packages -from the net as it installs.
  8. -
  9. - Libvirt -latest version from CVS -
  10. -
  11. The latest source patch from -the download area.
  12. -
  13. A version of Cygwin sunrpc, patched to support building - librpc.dll. - A patch and a binary package are available from - the download area.
  14. -
-

-These are the steps to take to compile libvirt from -source on Windows: -

-
    -
  1. -

    Run Cygwin - setup.exe. - When it starts up it will show a dialog like this: -

    - Cygwin Net Release Setup Program -
  2. -
  3. -

    Step through the setup program accepting defaults - or making choices as appropriate, until you get to the - screen for selecting packages:

    - Cygwin Select Packages screen -

    - The user interface here is very confusing. You have to - click the "recycling icon" as shown by the arrow: -

    - Cygwin Recycling Icon -

    - which takes the package (and all packages in the subtree) - through several states such as "Install", "Reinstall", "Keep", - "Skip", "Uninstall", etc. -

    -
  4. -
  5. -

    You can install "All" (everything) or better select - just the groups and packages needed. Select the following - groups and packages for installation: -

    - - - - - - - - - -
    Groups - Archive
    - Base
    - Devel
    - Editors
    - Mingw
    - Perl
    - Python
    - Shells
    Packages - openssh
    - sunrpc ≥ 4.0-4 (see below)
    -
  6. -
  7. -

    Once Cygwin has finished installing, start a Cygwin bash shell - (either click on the desktop icon or look for Cygwin bash shell - in the Start menu).

    -

    The very first time you start the Cygwin bash shell, you may - find you need to run the mkpasswd and mkgroup - commands in order to create /etc/passwd and - /etc/group files from Windows users. If this - is needed then a message is printed in the shell. - Note that you need to do this as Windows Administrator.

    -
  8. -
  9. -

    Install Cygwin sunrpc ≥ 4.0-4 package, patched to include - librpc.dll. - To do this, first check to see whether /usr/lib/librpc.dll - exists. If it does, you're good to go and can skip to the next - step.

    -

    - If you don't have this file, either install the binary package - sunrpc-4.0-4.tar.bz2 (just unpack it, as Administrator, in the Cygwin root directory). - Or you can download the - source patch - and apply it by hand to the Cygwin sunrpc package (eg. using - cygport). -

    -
  10. -
  11. -

    - Check out - Libvirt from CVS and - apply the latest Windows patch - to the source. -

    -
  12. -
  13. -

    Configure libvirt by doing:

    -
    -autoreconf
    -./configure --without-xen --without-qemu
    -
    -

    (The autoreconf step is probably optional).

    -

    The configure step will tell you if you have all the - required parts installed. If something is missing you - will need to go back through Cygwin setup and install it. -

    -
  14. -
  15. -

    Rebuild the XDR structures:

    -
    -rm qemud/remote_protocol.[ch] qemud/remote_dispatch_*.h
    -make -C qemud remote_protocol.c
    -
    -
  16. -
  17. -

    Build:

    -
    -make
    +      Libvirt can only be built as a client on Windows
    +      allowing remote access to systems libvirt servers.
    +      Configure libvirt like this:
    +    

    + +
    +./configure \
    +  --without-sasl \
    +  --without-avahi \
    +  --without-polkit \
    +  --without-python \
    +  --without-xen \
    +  --without-qemu \
    +  --without-lxc \
    +  --without-openvz \
    +  --without-libvirtd
     
    -

    If this step is not successful, you should post a full - report including complete messages to - the - libvirt mailing list. -

    -
  18. -
  19. -

    Test it. If you have access to a remote machine - running Xen or QEMU/KVM, and the libvirt daemon (libvirtd) - then you should be able to connect to it and display - domains using, eg: -

    -
    -src/virsh.exe -c qemu://remote/system list --all
    -
    -

    - Please read more about remote - support before sending bug reports, to make sure that - any problems are really Windows and not just with remote - configuration / security. -

    -
  20. -
  21. -

    - You may want to install the library and programs by doing: -

    -
    -make install
    -
    -
  22. -
  23. -

    - The above steps should also build and install Python modules. - However for reasons which I don't fully understand, Python won't - look in the - non-standard /usr/local/lib/python*/site-packages/ - directory by default so you may need to set the environment - variable PYTHONPATH: -

    -
    -export PYTHONPATH=/usr/local/lib/python2.5/site-packages
    -
    -

    - (Change the version number to your version of Python). You - can test Python support from the command line: -

    -
    -python
    ->>> import libvirt
    ->>> conn = libvirt.open ("test:///default")
    ->>> conn.listDomainsID ()
    -[1]
    ->>> dom = conn.lookupByID (1)
    ->>> dom.XMLDesc (0)
    -"<domain type='test' id='1'> ..."
    -
    -

    - The most common failure will be with import libvirt - which usually indicates that either PYTHONPATH is - wrong or a DLL cannot be loaded. -

    -
  24. -
+ +

+ We intend to supply Windows binaries on this page + later, but at the moment you have to compile from source. +