summaryrefslogtreecommitdiff
blob: 50f798d9dfada156c8b16847403455d36d145bdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?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 GIT 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>