mirror of https://gitee.com/openkylin/libvirt.git
145 lines
5.2 KiB
XML
145 lines
5.2 KiB
XML
<?xml version="1.0"?>
|
|
<html>
|
|
<body>
|
|
<h1 >FAQ</h1>
|
|
<p>Table of Contents:</p>
|
|
<ul>
|
|
<li>
|
|
<a href="FAQ.html#License">License(s)</a>
|
|
</li>
|
|
<li>
|
|
<a href="FAQ.html#Installati">Installation</a>
|
|
</li>
|
|
<li>
|
|
<a href="FAQ.html#Compilatio">Compilation</a>
|
|
</li>
|
|
<li>
|
|
<a href="FAQ.html#Developer">Developer corner</a>
|
|
</li>
|
|
</ul>
|
|
<h3><a name="License" id="License">License</a>(s)</h3>
|
|
<ol>
|
|
<li>
|
|
<em>Licensing Terms for libvirt</em>
|
|
<p>libvirt is released under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU Lesser
|
|
General Public License</a>, see the file COPYING.LIB in the distribution
|
|
for the precise wording. The only library that libvirt depends upon is
|
|
the Xen store access library which is also licenced under the LGPL.</p>
|
|
</li>
|
|
<li>
|
|
<em>Can I embed libvirt in a proprietary application ?</em>
|
|
<p>Yes. The LGPL allows you to embed libvirt 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 maintenance costs anyway if you do so.</p>
|
|
</li>
|
|
</ol>
|
|
<h3>
|
|
<a name="Installati" id="Installati">Installation</a>
|
|
</h3>
|
|
<ol>
|
|
<li><em>Where can I get libvirt</em> ?
|
|
<p>The original distribution comes from <a href="ftp://libvirt.org/libvirt/">ftp://libvirt.org/libvirt/</a>.</p>
|
|
</li>
|
|
<li>
|
|
<em>I can't install the libvirt/libvirt-devel RPM packages due to
|
|
failed dependencies</em>
|
|
<p>The most generic solution is to re-fetch the latest src.rpm , and
|
|
rebuild it locally with</p>
|
|
<p><code>rpm --rebuild libvirt-xxx.src.rpm</code>.</p>
|
|
<p>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 libvirt that you can install locally.</p>
|
|
<p>One can also rebuild the RPMs from a tarball:</p>
|
|
<p>
|
|
<code>rpmbuild -ta libdir-xxx.tar.gz</code>
|
|
</p>
|
|
<p>Or from a configured tree with:</p>
|
|
<p>
|
|
<code>make rpm</code>
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<em>Failure to use the API for non-root users</em>
|
|
<p>Large parts of the API may only be accessible with root privileges,
|
|
however the read only access to the xenstore data doesnot have to be
|
|
forbidden to user, at least for monitoring purposes. If "virsh dominfo"
|
|
fails to run as an user, change the mode of the xenstore read-only socket
|
|
with:</p>
|
|
<p>
|
|
<code>chmod 666 /var/run/xenstored/socket_ro</code>
|
|
</p>
|
|
<p>and also make sure that the Xen Daemon is running correctly with local
|
|
HTTP server enabled, this is defined in
|
|
<code>/etc/xen/xend-config.sxp</code> which need the following line to be
|
|
enabled:</p>
|
|
<p>
|
|
<code>(xend-http-server yes)</code>
|
|
</p>
|
|
<p>If needed restart the xend daemon after making the change with the
|
|
following command run as root:</p>
|
|
<p>
|
|
<code>service xend restart</code>
|
|
</p>
|
|
</li>
|
|
</ol>
|
|
<h3>
|
|
<a name="Compilatio" id="Compilatio">Compilation</a>
|
|
</h3>
|
|
<ol>
|
|
<li>
|
|
<em>What is the process to compile libvirt ?</em>
|
|
<p>As most UNIX libraries libvirt follows the "standard":</p>
|
|
<p>
|
|
<code>gunzip -c libvirt-xxx.tar.gz | tar xvf -</code>
|
|
</p>
|
|
<p>
|
|
<code>cd libvirt-xxxx</code>
|
|
</p>
|
|
<p>
|
|
<code>./configure --help</code>
|
|
</p>
|
|
<p>to see the options, then the compilation/installation proper</p>
|
|
<p>
|
|
<code>./configure [possible options]</code>
|
|
</p>
|
|
<p>
|
|
<code>make</code>
|
|
</p>
|
|
<p>
|
|
<code>make install</code>
|
|
</p>
|
|
<p>At that point you may have to rerun ldconfig or a similar utility to
|
|
update your list of installed shared libs.</p>
|
|
</li>
|
|
<li>
|
|
<em>What other libraries are needed to compile/install libvirt ?</em>
|
|
<p>Libvirt requires libxenstore, which is usually provided by the xen
|
|
packages as well as the public headers to compile against libxenstore.</p>
|
|
</li>
|
|
<li>
|
|
<em>I use the CVS version and there is no configure script</em>
|
|
<p>The configure script (and other Makefiles) are generated. Use the
|
|
autogen.sh script to regenerate the configure script and Makefiles,
|
|
like:</p>
|
|
<p>
|
|
<code>./autogen.sh --prefix=/usr --disable-shared</code>
|
|
</p>
|
|
</li>
|
|
</ol>
|
|
<h3><a name="Developer" id="Developer">Developer</a> corner</h3>
|
|
<ol>
|
|
<li>
|
|
<em>Troubles compiling or linking programs using libvirt</em>
|
|
<p>To simplify the process of reusing the library, libvirt comes with
|
|
pkgconfig support, which can be used directly from autoconf support or
|
|
via the pkg-config command line tool, like:</p>
|
|
<p>
|
|
<code>pkg-config libvirt --libs</code>
|
|
</p>
|
|
</li>
|
|
</ol>
|
|
</body>
|
|
</html>
|