From 4878a33125a0793b8af3a1f9837bb1c396a80420 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 24 May 2012 16:07:58 +0100 Subject: [PATCH] Improve docs about compiling libvirt from GIT Add a note about setting the LIBVIRT_DRIVER_DIR env variable, explain --system and fix example to use --disable-werror --- docs/compiling.html.in | 51 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/docs/compiling.html.in b/docs/compiling.html.in index 49bc7ee860..d39986ee85 100644 --- a/docs/compiling.html.in +++ b/docs/compiling.html.in @@ -62,14 +62,57 @@

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 autogen.sh command, passing the extra - arguments as for configure. As an example, to do a complete build and - install it into your home directory run: + templates using the autogen.sh command. By default when + the configure 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:

-      $ ./autogen.sh --prefix=$HOME/usr --enable-compile-warnings=error
+      $ ./autogen.sh --prefix=$HOME/usr
       $ make
       $ sudo make install
+ +

+ 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 +

+ +
+      $ ./autogen.sh --system
+      $ make
+    
+ +

+ 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 +

+ +
+      $ su -
+      # service libvirtd stop  (or systemctl stop libvirtd.service)
+      # /home/to/your/checkout/daemon/libvirtd
+    
+ +

+ It is also possible to run virsh directly from the source tree +

+ +
+      $ ./tools/virsh ....
+    
+ +

+ 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 LIBVIRT_DRIVER_DIR=/path/to/source/tree/src/.libs +