1 <!-- $Id: installation.xml,v 1.9 2003-03-05 16:40:51 adam Exp $ -->
2 <chapter id="installation">
3 <title>Installation</title>
5 Zebra is written in ANSI C and was implemented with portability in mind.
6 We primarily use GNU C on UNIX and Microsoft Visual C++ on Windows.
10 The software is regularly tested on Debian GNU/Linux, Redhat Linux,
11 Gentoo Linux, NetBSD (Cobalt qube), FreeBSD (i386), MAC OSX,
12 SunOS 5.8 (sparc), Windows 2000 SP3.
16 Zebra can be configured to use the following utilities (most of
21 <term><ulink url="http://www.indexdata.dk/yaz/">yaz</ulink> (required)</term>
24 Zebra uses YAZ to support Z39.50/SRW. Also the memory management
25 utilites from YAZ is used by Zebra.
30 <term><ulink url="http://www.gnu.org/software/libiconv/">iconv</ulink>
34 Character set conversion. This is required if you're
35 going to use any other character set than UTF-8 and ISO-8859-1
36 for records. Note that some Unixes has iconv built-in.
41 <term><ulink url="http://expat.sourceforge.net/">Expat</ulink>
45 XML parser. If you're going to index real XML you should
46 install this (filter grs.xml). On most systems you should be able
47 to find binary Expat packages.
53 <term><ulink url="http://www.perl.com/">Perl</ulink> (optional)</term>
56 Perl is required if you're going to use the Zebra perl
57 filter facility or the Zebra perl API. Perl is preinstalled
58 on many Unixes. We've not tried the Perl extension on
65 <term><ulink url="http://www.tcl.tk/">Tcl</ulink> (optional)</term>
68 Tcl is required if you need to use the Tcl record filter
69 for Zebra. You can find binary packages for Tcl for many
77 <ulink url="http://www.gnu.org/software/autoconf/">Autoconf</ulink>,
78 <ulink url="http://www.gnu.org/software/automake/">Automake</ulink>
82 GNU Automake and Autoconf are only required if you're
83 using the CVS version of Zebra. You do not need these
84 if you have fetched a Zebra tar.
90 <term><ulink url="http://docbook.org/">Docbook</ulink>
91 and friends (optional)</term>
94 These tools are only required if you're writing
95 Documentation for Zebra. You need the following
96 Debian packages: jadetex, docbook, docbook-dsssl,
97 docbook-xml, docbook-utils.
104 <sect1 id="installation.unix"><title>UNIX</title>
106 On Unix, <literal>gcc</literal> works fine, but any native
107 C compiler should be possible to use as long as it is
112 Unpack the distribution archive. The <literal>configure</literal>
113 shell script attempts to guess correct values for various
114 system-dependent variables used during compilation.
115 It uses those values to create a <literal>Makefile</literal> in each
120 To run the configure script type:
129 The configure script attempts to use C compiler specified by
130 the <literal>CC</literal> environment variable.
131 If this is not set, <literal>cc</literal> or GNU C will be used.
132 The <literal>CFLAGS</literal> environment variable holds
133 options to be passed to the C compiler. If you're using a
134 Bourne-shell compatible shell you may pass something like this:
137 CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
141 The configure script support various options: you can see what they
149 Once the build environment is configured, build the software by
157 If the build is successful, two executables are created in the
158 sub-directory <literal>index</literal>:
162 <term><literal>zebrasrv</literal></term>
165 The Z39.50 server and search engine.
170 <term><literal>zebraidx</literal></term>
173 The administrative indexing tool.
181 You can now use Zebra. If you wish to install it system-wide, then
186 By default this will install the Zebra executables in
187 <filename>/usr/local/bin</filename>,
188 and the standard configuration files in
189 <filename>/usr/local/share/idzebra</filename>
190 You can override this with the <literal>--prefix</literal> option
194 <sect1 id="installation.win32"><title>WIN32</title>
200 <!-- Keep this comment at the end of the file
205 sgml-minimize-attributes:nil
206 sgml-always-quote-attributes:t
209 sgml-parent-document: "zebra.xml"
210 sgml-local-catalogs: nil
211 sgml-namecase-general:t