zebra_begin_trans got extra "write" flag. zebra_begin_read
[idzebra-moved-to-github.git] / doc / installation.xml
1 <!-- $Id: installation.xml,v 1.7 2003-03-04 23:30:20 adam Exp $ -->
2  <chapter id="installation">
3   <title>Installation</title>
4   <para>
5    Zebra is very portable. An ANSI C compiler is required. We
6    primarily use GNU C on UNIX and Microsoft Visual C++ on Windows.
7   </para>
8
9   <para>
10    Zebra uses following components. Most of these are optional.
11    <variablelist>
12     <varlistentry>
13      <term><ulink url="http://www.indexdata.dk/yaz/">yaz</ulink> (required)</term>
14      <listitem>
15       <para>
16        Zebra uses lots of utilities provided by YAZ. Most notably
17        Z39.50 support.
18       </para>
19      </listitem>
20     </varlistentry>
21     <varlistentry>
22      <term><ulink url="http://www.gnu.org/software/libiconv/">iconv</ulink>
23       (optional)</term>
24      <listitem>
25       <para>
26        Character set conversion. This is required if you're
27        going to use any other character set than UTF-8 and ISO-8859-1
28        for records. Note that some Unixes has iconv built-in.
29       </para>
30      </listitem>
31     </varlistentry>
32     <varlistentry>
33      <term><ulink url="http://expat.sourceforge.net/">Expat</ulink>
34       (optional)</term>
35      <listitem>
36       <para>
37        XML parser. If you're going to index real XML you should
38        install this (filter grs.xml). On most system, you should be able
39        to find binary Expat packages.
40       </para>
41      </listitem>
42     </varlistentry>
43
44     <varlistentry>
45      <term><ulink url="http://www.perl.com/">Perl</ulink> (optional)</term>
46      <listitem>
47       <para>
48        Perl is required if you're going to use the Zebra perl
49        filter facility or the Zebra perl API. Perl is preinstalled
50        on many Unixes. We've not tried the Perl extension on 
51        Windows ourselves.
52       </para>
53      </listitem>
54     </varlistentry>
55
56     <varlistentry>
57      <term><ulink url="http://www.tcl.tk/">Tcl</ulink> (optional)</term>
58      <listitem>
59       <para>
60        Tcl is required if you  need to use the Tcl record filter
61        for Zebra. You can find binary packages for Tcl for many
62        Unices and Windows.
63       </para>
64      </listitem>
65     </varlistentry>
66
67     <varlistentry>
68      <term>
69       <ulink url="http://www.gnu.org/software/autoconf/">Autoconf</ulink>,
70       <ulink url="
71       
72  (optional)</term>
73      <listitem>
74       <para>
75        GNU Automake and Autoconf are only required if you're
76        using the CVS version of Zebra. You do not need these
77        if you have fetched a Zebra tar.
78       </para>
79      </listitem>
80     </varlistentry>
81     
82     <varlistentry>
83      <term>Docbook and friends (optional)</term>
84      <listitem>
85       <para>
86        These tools are only required if you're writing
87        Documentation for Zebra. You need the following
88        Debian packages: jadetex, docbook, docbook-dsssl,
89        docbook-xml, docbook-utils.
90       </para>
91      </listitem>
92     </varlistentry>
93    </variablelist>
94   </para>
95
96   <sect1 id="installation.unix"><title>UNIX</title>
97    <para>
98     On Unix, <literal>gcc</literal> works fine, but any native
99     C compiler should be possible to use as long as it is 
100     ANSI C compliant.
101    </para>
102    
103    <para>
104     Unpack the distribution archive. The <literal>configure</literal>
105     shell script attempts to guess correct values for various
106     system-dependent variables used during compilation.
107     It uses those values to create a <literal>Makefile</literal> in each
108     directory of Zebra.
109    </para>
110    
111    <para>
112     To run the configure script type:
113     
114     <screen>
115      ./configure
116     </screen>
117     
118    </para>
119    
120    <para>
121     The configure script attempts to use C compiler specified by
122     the <literal>CC</literal> environment variable.
123     If this is not set, <literal>cc</literal> or GNU C will be used.
124     The <literal>CFLAGS</literal> environment variable holds
125     options to be passed to the C compiler. If you're using a
126     Bourne-shell compatible shell you may pass something like this:
127     
128     <screen>
129      CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
130     </screen>
131    </para>
132    <para>
133     The configure script support various options: you can see what they
134     are with
135     <screen>
136      ./configure --help
137     </screen>
138    </para>
139    
140    <para>
141     Once the build environment is configured, build the software by
142     typing:
143     <screen>
144      make
145     </screen>
146    </para>
147    
148    <para>
149     If the build is successful, two executables are created in the
150     sub-directory <literal>index</literal>:
151     <variablelist>
152      
153      <varlistentry>
154       <term><literal>zebrasrv</literal></term>
155       <listitem>
156        <para>
157         The Z39.50 server and search engine.
158        </para>
159       </listitem>
160      </varlistentry>
161      <varlistentry>
162      <term><literal>zebraidx</literal></term>
163       <listitem>
164        <para>
165         The administrative indexing tool.
166        </para>
167       </listitem>
168      </varlistentry>
169     </variablelist>
170    </para>
171    
172    <para>
173     You can now use Zebra. If you wish to install it system-wide, then
174     as root type
175     <screen>
176      make install
177     </screen>
178     By default this will install the Zebra executables in 
179     <filename>/usr/local/bin</filename>,
180     and the standard configuration files in 
181     <filename>/usr/local/share/idzebra</filename>
182     You can override this with the <literal>--prefix</literal> option
183     to configure.
184    </para>
185   </sect1>
186   <sect1><title>WIN32</title>
187    <para>
188     
189    </para>
190   </sect1>
191  </chapter>
192  <!-- Keep this comment at the end of the file
193  Local variables:
194  mode: sgml
195  sgml-omittag:t
196  sgml-shorttag:t
197  sgml-minimize-attributes:nil
198  sgml-always-quote-attributes:t
199  sgml-indent-step:1
200  sgml-indent-data:t
201  sgml-parent-document: "zebra.xml"
202  sgml-local-catalogs: nil
203  sgml-namecase-general:t
204  End:
205  -->