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