mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 14:15:28 +00:00
e04912a9f0
* Makefile.cfg (local-checks-to-skip): Remove sc_trailing_blank. * .x-sc_trailing_blank: New file, to exempt the few binary files.
234 lines
10 KiB
HTML
234 lines
10 KiB
HTML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Windows support</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Windows support</h1><p>
|
|
Instructions for compiling and installing libvirt on Windows.
|
|
</p><ul><li><a href="#Windows_binaries">Binaries</a></li>
|
|
<li><a href="#Windows_compiling">Compiling from source</a></li>
|
|
</ul><h3><a name="Windows_binaries" id="Windows_binaries">Binaries</a></h3><p>
|
|
Binaries will be available from
|
|
<a href="ftp://libvirt.org/libvirt/win32">the download area</a>
|
|
(but we don't have binaries at the moment).
|
|
</p><h3><a name="Windows_compiling" id="Windows_compiling">Compiling from source</a></h3><p>
|
|
These are the steps to compile libvirt and the other
|
|
tools from source on Windows.
|
|
</p><p>
|
|
You will need:
|
|
</p><ol><li> MS Windows. Microsoft makes free (as beer) versions
|
|
of some of its operating systems available to
|
|
<a href="http://msdn.microsoft.com/">MSDN subscribers</a>.
|
|
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).
|
|
</li>
|
|
|
|
<li> <a href="http://www.cygwin.com/">Cygwin</a>'s
|
|
<a href="http://www.cygwin.com/setup.exe">setup.exe</a>.
|
|
</li>
|
|
|
|
<li> 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. </li>
|
|
|
|
<li> A network connection for Windows, since Cygwin downloads packages
|
|
from the net as it installs. </li>
|
|
|
|
<li> <a href="http://www.libvirt.org/downloads.html">Libvirt
|
|
latest version from CVS</a> </li>
|
|
|
|
<li> The latest source patch from
|
|
<a href="ftp://libvirt.org/libvirt/win32">the download area</a>. </li>
|
|
|
|
<li> A version of Cygwin sunrpc, patched to support building
|
|
<code>librpc.dll</code>.
|
|
A patch and a binary package are available from
|
|
<a href="ftp://libvirt.org/libvirt/win32">the download area</a>. </li>
|
|
</ol><p>
|
|
These are the steps to take to compile libvirt from
|
|
source on Windows:
|
|
</p><ol><li>
|
|
<p>Run Cygwin
|
|
<a href="http://www.cygwin.com/setup.exe">setup.exe</a>.
|
|
When it starts up it will show a dialog like this:
|
|
</p>
|
|
|
|
<img src="windows-cygwin-1.png" width="504" height="388" alt="Cygwin Net Release Setup Program" /></li>
|
|
|
|
<li>
|
|
<p>Step through the setup program accepting defaults
|
|
or making choices as appropriate, until you get to the
|
|
screen for selecting packages:</p>
|
|
|
|
<img src="windows-cygwin-2.png" width="505" height="388" alt="Cygwin Select Packages screen" /><p>
|
|
The user interface here is very confusing. You have to
|
|
click the "recycling icon" as shown by the arrow:
|
|
</p>
|
|
|
|
<img src="windows-cygwin-3.png" width="298" height="200" alt="Cygwin Recycling Icon" /><p>
|
|
which takes the package (and all packages in the subtree)
|
|
through several states such as "Install", "Reinstall", "Keep",
|
|
"Skip", "Uninstall", etc.
|
|
</p>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
<p>You can install "All" (everything) or better select
|
|
just the groups and packages needed. Select the following
|
|
groups and packages for installation:
|
|
</p>
|
|
|
|
<table><tr><th valign="top" align="right"> Groups </th>
|
|
<td>
|
|
Archive <br />
|
|
Base <br />
|
|
Devel <br />
|
|
Editors <br />
|
|
Mingw <br />
|
|
Perl <br />
|
|
Python <br />
|
|
Shells <br /></td>
|
|
</tr><tr><th valign="top" align="right"> Packages </th>
|
|
<td>
|
|
openssh <br />
|
|
sunrpc ≥ 4.0-4 (see below) <br /></td>
|
|
</tr></table></li>
|
|
|
|
<li>
|
|
<p> 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). </p>
|
|
|
|
<p> The very first time you start the Cygwin bash shell, you may
|
|
find you need to run the <code>mkpasswd</code> and <code>mkgroup</code>
|
|
commands in order to create <code>/etc/passwd</code> and
|
|
<code>/etc/group</code> 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. </p>
|
|
</li>
|
|
|
|
<li>
|
|
<p> Install Cygwin sunrpc ≥ 4.0-4 package, patched to include
|
|
<code>librpc.dll</code>.
|
|
To do this, first check to see whether <code>/usr/lib/librpc.dll</code>
|
|
exists. If it does, you're good to go and can skip to the next
|
|
step. </p>
|
|
|
|
<p>
|
|
If you don't have this file, either install the binary package
|
|
<a href="ftp://libvirt.org/libvirt/win32/sunrpc-4.0-4.tar.bz2">sunrpc-4.0-4.tar.bz2</a> (just unpack it, as Administrator, in the Cygwin root directory).
|
|
Or you can download the
|
|
<a href="ftp://libvirt.org/libvirt/win32/sunrpc-4.0-dll.patch">source patch</a>
|
|
and apply it by hand to the Cygwin sunrpc package (eg. using
|
|
cygport).
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
Check out
|
|
<a href="http://www.libvirt.org/downloads.html">Libvirt from CVS</a> and
|
|
<a href="ftp://libvirt.org/libvirt/win32">apply the latest Windows patch</a>
|
|
to the source.
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p> Configure libvirt by doing: </p>
|
|
<pre>
|
|
autoreconf
|
|
./configure --without-xen --without-qemu
|
|
</pre>
|
|
<p> (The autoreconf step is probably optional). </p>
|
|
<p> 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.
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p> Rebuild the XDR structures: </p>
|
|
<pre>
|
|
rm qemud/remote_protocol.[ch] qemud/remote_dispatch_*.h
|
|
make -C qemud remote_protocol.c
|
|
</pre>
|
|
</li>
|
|
|
|
<li>
|
|
<p> Build: </p>
|
|
<pre>
|
|
make
|
|
</pre>
|
|
<p> If this step is not successful, you should post a full
|
|
report <i>including complete messages</i> to
|
|
<a href="http://www.redhat.com/mailman/listinfo/libvir-list">the
|
|
libvirt mailing list</a>.
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p> Test it. If you have access to a remote machine
|
|
running Xen or QEMU/KVM, and the libvirt daemon (<code>libvirtd</code>)
|
|
then you should be able to connect to it and display
|
|
domains using, eg:
|
|
</p>
|
|
<pre>
|
|
src/virsh.exe <a href="http://libvirt.org/uri.html">-c qemu://remote/system</a> list --all
|
|
</pre>
|
|
<p>
|
|
Please read more about <a href="http://libvirt.org/remote.html">remote
|
|
support</a> before sending bug reports, to make sure that
|
|
any problems are really Windows and not just with remote
|
|
configuration / security.
|
|
</p>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
You may want to install the library and programs by doing:
|
|
</p>
|
|
<pre>
|
|
make install
|
|
</pre>
|
|
</li>
|
|
|
|
<li>
|
|
<p>
|
|
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 <code>/usr/local/lib/python*/site-packages/</code>
|
|
directory by default so you may need to set the environment
|
|
variable PYTHONPATH:
|
|
</p>
|
|
|
|
<pre>
|
|
export PYTHONPATH=/usr/local/lib/python2.5/site-packages
|
|
</pre>
|
|
|
|
<p>
|
|
(Change the version number to your version of Python). You
|
|
can test Python support from the command line:
|
|
</p>
|
|
|
|
<pre>
|
|
python
|
|
>>> import libvirt
|
|
>>> conn = libvirt.open ("test:///default")
|
|
>>> conn.listDomainsID ()
|
|
[1]
|
|
>>> dom = conn.lookupByID (1)
|
|
>>> dom.XMLDesc (0)
|
|
"<domain type='test' id='1'> ..."
|
|
</pre>
|
|
|
|
<p>
|
|
The most common failure will be with <code>import libvirt</code>
|
|
which usually indicates that either <code>PYTHONPATH</code> is
|
|
wrong or a DLL cannot be loaded.
|
|
</p>
|
|
</li>
|
|
|
|
</ol></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Bindings for other languages</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="windows.html">Windows support</a></li><li><a href="remote.html">Remote support</a></li><li><a href="auth.html">Access control</a></li><li><a href="uri.html">Connection URIs</a></li><li><a href="hvsupport.html">Hypervisor support</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&component=libvirt&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=MODIFIED&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://libvirt.org/ocaml/">OCaml bindings</a></li><li><a href="http://libvirt.org/ruby/">Ruby bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>
|