2010-12-21 12:38:37 +03:00
<?xml version="1.0"?>
< html >
< body >
< h1 > < a name = "installation" > libvirt Installation< / a > < / h1 >
< ul id = "toc" > < / ul >
< h2 > < a name = "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" > 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
2012-05-24 19:07:58 +04:00
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:
2010-12-21 12:38:37 +03:00
< / p >
< pre >
2012-05-24 19:07:58 +04:00
$ ./autogen.sh --prefix=$HOME/usr
2010-12-21 12:38:37 +03:00
$ make
$ < b > sudo< / b > make install< / pre >
2012-05-24 19:07:58 +04:00
< 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 >
2010-12-21 12:38:37 +03:00
< / body >
< / html >