FAQ
Table of Contents:
License(s)
- Licensing Terms for libvir
libvir is released under the GNU Lesser General Public License, see the file COPYING.LIB in the distribution for the precise wording. The only library that libvir depends upon is the Xen store access library which is also licenced under the LGPL.
- Can I embed libvir in a proprietary application ?
Yes. The LGPL allows you to embed libvir into a proprietary application. It would be graceful to send-back bug fixes and improvements as patches for possible incorporation in the main development tree. It will decrease your maintainance costs anyway if you do so.
Installation
- Where can I get libvir ?
The original distribution comes from ftp://libvir.org/libvir/.
- I can't install the libvir/libvir-devel RPM packages due to failed
dependencies
The most generic solution is to re-fetch the latest src.rpm , and rebuild it locally with
rpm --rebuild libvir-xxx.src.rpm
.If everything goes well it will generate two binary rpm packages (one providing the shared libs and virsh, and the other one, the -devel package, providing includes, static libraries and scripts needed to build applications with libvir that you can install locally.
One can also rebuild the RPMs from a tarball:
rpmbuild -ta libdir-xxx.tar.gz
Or from a configured tree with:
make rpm
- Failure to use the API for non-root users
Large parts of the API are only accessible as root, however the read only access to the xenstore data doesnot have to be forbidden to user, at least for monitoring purposes. If "virsh info" fails to run as an user, change the mode of the xenstore read-only socket with:
chmod 666 /var/run/xenstored/socket_ro
Compilation
- What is the process to compile libvir ?
As most UNIX libraries libvir follows the "standard":
gunzip -c libvir-xxx.tar.gz | tar xvf -
cd libvir-xxxx
./configure --help
to see the options, then the compilation/installation proper
./configure [possible options]
make
make install
At that point you may have to rerun ldconfig or a similar utility to update your list of installed shared libs.
- What other libraries are needed to compile/install libvir ?
Libvir requires libxenstore, which is usually provided by the xen packages as well as the public headers to compile against libxenstore.
- I use the CVS version and there is no configure script
The configure script (and other Makefiles) are generated. Use the autogen.sh script to regenerate the configure script and Makefiles, like:
./autogen.sh --prefix=/usr --disable-shared
Developer corner
- Troubles compiling or linking programs using libvir
To simplify the process of reusing the library, libvir comes with pkgconfig support, which can be used directly from autoconf support or via the pkg-config command line tool, like:
pkg-config libvir --libs