<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- This file is autogenerated from compiling.html.in Do not edit this file. Changes will be lost. --> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="main.css" /> <link rel="SHORTCUT ICON" href="32favicon.png" /> <title>libvirt: libvirt Installation</title> <meta name="description" content="libvirt, virtualization, virtualization API" /> </head> <body> <div id="header"> <div id="headerLogo"></div> <div id="headerSearch"> <form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><div> <input id="query" name="query" type="text" size="12" value="" /> <input id="submit" name="submit" type="submit" value="Search" /> </div></form> </div> </div> <div id="body"> <div id="menu"> <ul class="l0"><li> <div> <a title="Front page of the libvirt website" class="inactive" href="index.html">Home</a> </div> </li><li> <div> <a title="Details of new features and bugs fixed in each release" class="inactive" href="news.html">News</a> </div> </li><li> <div> <a title="Applications known to use libvirt" class="inactive" href="apps.html">Applications</a> </div> </li><li> <div> <a title="Get the latest source releases, binary builds and get access to the source repository" class="inactive" href="downloads.html">Downloads</a> </div> </li><li> <div> <a title="Information for users, administrators and developers" class="active" href="docs.html">Documentation</a> <ul class="l1"><li> <div> <span class="active">Compiling</span> </div> </li><li> <div> <a title="Information about deploying and using libvirt" class="inactive" href="deployment.html">Deployment</a> </div> </li><li> <div> <a title="Overview of the logical subsystems in the libvirt API" class="inactive" href="intro.html">Architecture</a> </div> </li><li> <div> <a title="Description of the XML formats used in libvirt" class="inactive" href="format.html">XML format</a> </div> </li><li> <div> <a title="Hypervisor specific driver information" class="inactive" href="drivers.html">Drivers</a> </div> </li><li> <div> <a title="Reference manual for the C public API" class="inactive" href="html/index.html">API reference</a> </div> </li><li> <div> <a title="Bindings of the libvirt API for other languages" class="inactive" href="bindings.html">Language bindings</a> </div> </li><li> <div> <a title="Working on the internals of libvirt API, driver and daemon code" class="inactive" href="internals.html">Internals</a> </div> </li><li> <div> <a title="A guide and reference for developing with libvirt" class="inactive" href="devguide.html">Development Guide</a> </div> </li><li> <div> <a title="Command reference for virsh" class="inactive" href="virshcmdref.html">Virsh Commands</a> </div> </li></ul> </div> </li><li> <div> <a title="User contributed content" class="inactive" href="http://wiki.libvirt.org">Wiki</a> </div> </li><li> <div> <a title="Frequently asked questions" class="inactive" href="http://wiki.libvirt.org/page/FAQ">FAQ</a> </div> </li><li> <div> <a title="How and where to report bugs and request features" class="inactive" href="bugs.html">Bug reports</a> </div> </li><li> <div> <a title="How to contact the developers via email and IRC" class="inactive" href="contact.html">Contact</a> </div> </li><li> <div> <a title="Available test suites for libvirt" class="inactive" href="testsuites.html">Test suites</a> </div> </li><li> <div> <a title="Miscellaneous links of interest related to libvirt" class="inactive" href="relatedlinks.html">Related Links</a> </div> </li><li> <div> <a title="Overview of all content on the website" class="inactive" href="sitemap.html">Sitemap</a> </div> </li></ul> </div> <div id="content"> <h1> <a name="installation" id="installation">libvirt Installation</a> </h1> <ul><li> <a href="#compiling">Compiling a release tarball</a> </li><li> <a href="#building">Building from a GIT checkout</a> </li></ul> <h2> <a name="compiling" id="compiling">Compiling a release tarball</a> </h2> <p> libvirt uses the standard configure/make/install steps: </p> <pre> $ gunzip -c libvirt-x.x.x.tar.gz | tar xvf - $ cd libvirt-x.x.x $ ./configure</pre> <p> The <i>configure</i> script can be given options to change its default behaviour. </p> <p> To get the complete list of the options it can take, pass it the <i>--help</i> option like this: </p> <pre> $ ./configure <i>--help</i></pre> <p> When you have determined which options you want to use (if any), continue the process. </p> <p> Note the use of <b>sudo</b> with the <i>make install</i> command below. Using sudo is only required when installing to a location your user does not have write access to. Installing to a system location is a good example of this. </p> <p> If you are installing to a location that your user <i>does</i> have write access to, then you can instead run the <i>make install</i> command without putting <b>sudo</b> before it. </p> <pre> $ ./configure <i>[possible options]</i> $ make $ <b>sudo</b> <i>make install</i></pre> <p> At this point you <b>may</b> have to run ldconfig or a similar utility to update your list of installed shared libs. </p> <h2> <a name="building" id="building">Building from a GIT checkout</a> </h2> <p> The libvirt build process uses GNU autotools, so after obtaining a checkout it is necessary to generate the configure script and Makefile.in templates using the <code>autogen.sh</code> command. By default when the <code>configure</code> script is run from within a GIT checkout, it will turn on -Werror for builds. This can be disabled with --disable-werror, but this is not recommended. To build & install libvirt to your home directory the following commands can be run: </p> <pre> $ ./autogen.sh --prefix=$HOME/usr $ make $ <b>sudo</b> make install</pre> <p> Be aware though, that binaries built with a custom prefix will not interoperate with OS vendor provided binaries, since the UNIX socket paths will all be different. To produce a build that is compatible with normal OS vendor prefixes, use </p> <pre> $ ./autogen.sh --system $ make </pre> <p> When doing this for day-to-day development purposes, it is recommended not to install over the OS vendor provided binaries. Instead simply run libvirt directly from the source tree. For example to run a privileged libvirtd instance </p> <pre> $ su - # service libvirtd stop (or systemctl stop libvirtd.service) # /home/to/your/checkout/daemon/libvirtd </pre> <p> It is also possible to run virsh directly from the source tree </p> <pre> $ ./tools/virsh .... </pre> <p> A normal configuration of libvirt will build hypervisor drivers as loadable modules. When running from a non-installed source tree, libvirtd will attempt to find the modules from the same source tree. If this is not possible though, you can explicitly set <code>LIBVIRT_DRIVER_DIR=/path/to/source/tree/src/.libs</code> </p> </div> </div> <div id="footer"> <p id="sponsor"> Sponsored by:<br /><a href="http://et.redhat.com/"><img src="et.png" alt="Project sponsored by Red Hat Emerging Technology" /></a></p> </div> </body> </html>