+ <variablelist>
+ <varlistentry>
+ <term><ulink url="&url.yaz;">yaz</ulink>
+ (required)</term>
+ <listitem>
+ <para>
+ &zebra; uses &yaz; to support <ulink url="&url.z39.50;">&acro.z3950;</ulink> /
+ <ulink url="&url.sru;">&acro.sru;</ulink>.
+ Also the memory management utilites from &yaz; is used by &zebra;.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><ulink url="&url.libiconv;">iconv</ulink>
+ (optional)</term>
+ <listitem>
+ <para>
+ Character set conversion. This is required if you're
+ going to use any other character set than UTF-8 and ISO-8859-1
+ for records. Note that some Unixes has iconv built-in.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><ulink url="&url.expat;">Expat</ulink>
+ (optional)</term>
+ <listitem>
+ <para>
+ &acro.xml; parser. If you're going to index real &acro.xml; you should
+ install this (filter grs.xml). On most systems you should be able
+ to find binary Expat packages.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="&url.tcl;">Tcl</ulink> (optional)</term>
+ <listitem>
+ <para>
+ Tcl is required if you need to use the Tcl record filter
+ for &zebra;. You can find binary packages for Tcl for many
+ Unices and Windows.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <ulink url="&url.autoconf;">Autoconf</ulink>,
+ <ulink url="&url.automake;">Automake</ulink>
+ (optional)</term>
+ <listitem>
+ <para>
+ GNU Automake and Autoconf are only required if you're
+ using the CVS version of &zebra;. You do not need these
+ if you have fetched a &zebra; tar.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><ulink url="&url.docbook;">Docbook</ulink>
+ and friends (optional)</term>
+ <listitem>
+ <para>
+ These tools are only required if you're writing
+ documentation for &zebra;. You need the following
+ Debian packages: docbook, docbook-xml, docbook-xsl,
+ docbook-utils, xsltproc.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+
+ <section id="installation-unix"><title>UNIX</title>
+ <para>
+ On Unix, GCC works fine, but any native
+ C compiler should be possible to use as long as it is
+ &acro.ansi; C compliant.
+ </para>
+
+ <para>
+ Unpack the distribution archive. The <literal>configure</literal>
+ shell script attempts to guess correct values for various
+ system-dependent variables used during compilation.
+ It uses those values to create a <literal>Makefile</literal> in each
+ directory of &zebra;.
+ </para>
+
+ <para>
+ To run the configure script type:
+
+ <screen>
+ ./configure
+ </screen>
+
+ </para>
+
+ <para>
+ The configure script attempts to use C compiler specified by
+ the <literal>CC</literal> environment variable.
+ If this is not set, <literal>cc</literal> or GNU C will be used.
+ The <literal>CFLAGS</literal> environment variable holds
+ options to be passed to the C compiler. If you're using a
+ Bourne-shell compatible shell you may pass something like this:
+
+ <screen>
+ CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
+ </screen>
+ </para>
+ <para>
+ The configure script support various options: you can see what they
+ are with
+ <screen>
+ ./configure --help
+ </screen>
+ </para>
+
+ <para>
+ Once the build environment is configured, build the software by
+ typing:
+ <screen>
+ make
+ </screen>
+ </para>
+
+ <para>
+ If the build is successful, two executables are created in the
+ sub-directory <literal>index</literal>:
+ <variablelist>
+
+ <varlistentry>
+ <term><literal>zebrasrv</literal></term>
+ <listitem>
+ <para>
+ The &acro.z3950; server and search engine.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>zebraidx</literal></term>
+ <listitem>
+ <para>
+ The administrative indexing tool.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><literal>index/*.so</literal></term>
+ <listitem>
+ <para>
+ The <literal>.so</literal>-files are &zebra; record filter modules.
+ There are modules for reading
+ &acro.marc; (<filename>mod-grs-marc.so</filename>),
+ &acro.xml; (<filename>mod-grs-xml.so</filename>) , etc.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </para>
+
+ <note>
+ <para>
+ Using configure option <literal>--disable-shared</literal> builds
+ &zebra; statically and links "in" &zebra; filter code statically, i.e.
+ no <literal>.so-files</literal> are generated
+ </para>
+ </note>
+
+ <para>
+ You can now use &zebra;. If you wish to install it system-wide, then
+ as root type
+ <screen>
+ make install
+ </screen>
+ By default this will install the &zebra; executables in
+ <filename>/usr/local/bin</filename>,
+ and the standard configuration files in
+ <filename>/usr/local/share/idzebra-2.0</filename>. If
+ shared modules are built, these are installed in
+ <filename>/usr/local/lib/idzebra-2.0/modules</filename>.
+ You can override this with the <literal>--prefix</literal> option
+ to configure.
+ </para>
+ </section>
+
+ <section id="installation-debian"><title>GNU/Debian</title>
+ <section id="installation-debian-linux"><title>GNU/Debian Linux on
+ i686 Platform</title>
+ <para>
+ Index Data provides pre-compiled GNU/Debian i686 Linux packages
+ at our Debian package archive, both for
+ the Sarge and the Etch release.
+ </para>
+
+ <para>
+ To install these packages, you need to add two lines to your
+ <filename>/etc/apt/sources.list</filename> configuration file,
+ either the Sarge sources found at
+ <screen>
+ deb http://ftp.indexdata.dk/debian sarge main
+ deb-src http://ftp.indexdata.dk/debian sarge main
+ </screen>
+ or the Etch sources from
+ <screen>
+ deb http://ftp.indexdata.dk/debian etch main
+ deb-src http://ftp.indexdata.dk/debian etch main
+ </screen>
+ After refreshing the package cache with the command
+ <screen>
+ apt-get update
+ </screen>
+ as <literal>root</literal>, the
+ <ulink url="&url.idzebra;">&zebra;</ulink> indexer is
+ easily installed issuing
+ <screen>
+ apt-get install idzebra-2.0 idzebra-2.0-doc
+ </screen>
+ </para>
+ </section>
+
+ <section id="installation-debia-nother">
+ <title>Ubuntu/Debian and GNU/Debian on other platforms</title>
+ <para>
+ These <ulink url="&url.idzebra;">&zebra;</ulink>
+ packages are specifically compiled for
+ GNU/Debian Linux systems. Installation on other
+ GNU/Debian systems is possible by
+ re-compilation the Debian way: you need to add only the
+ <literal>deb-src</literal> sources lines to the
+ <filename>/etc/apt/sources.list</filename> configuration file,
+ that is either the Sarge sources
+ <screen>
+ deb-src http://ftp.indexdata.dk/debian sarge main
+ </screen>
+ or the Etch sources
+ <screen>
+ deb-src http://ftp.indexdata.dk/debian etch main
+ </screen>
+ After refreshing the package cache with the command
+ <screen>
+ apt-get update
+ apt-get build-dep idzebra-2.0
+ </screen>
+ as <literal>root</literal>, the
+ <ulink url="&url.idzebra;">&zebra;</ulink> indexer is
+ recompiled and installed issuing
+ <screen>
+ fakeroot apt-get source --compile idzebra-2.0
+ </screen>
+ as normal user.
+ The compiled GNU/Debian packages can then be
+ installed as <literal>root</literal> issuing
+ <screen>
+ dpkg -i install idzebra-2.0*.deb libidzebra-2.0*.deb
+ </screen>
+ </para>
+ </section>
+ </section>
+
+ <section id="installation-win32"><title>WIN32</title>
+ <para>The easiest way to install &zebra; on Windows is by downloading
+ an installer from
+ <ulink url="&url.idzebra.download.win32;">here</ulink>.
+ The installer comes with source too - in case you wish to
+ compile &zebra; with different Compiler options.
+ </para>