-<!-- $Id: installation.xml,v 1.31 2006-09-22 12:34:45 adam Exp $ -->
+<!-- $Id: installation.xml,v 1.36 2007-05-24 13:44:09 adam Exp $ -->
<chapter id="installation">
<title>Installation</title>
<para>
- Zebra is written in ANSI C and was implemented with portability in mind.
+ &zebra; is written in &acro.ansi; C and was implemented with portability in mind.
We primarily use <ulink url="&url.gcc;">GCC</ulink> on UNIX and
<ulink url="&url.vstudio;">Microsoft Visual C++</ulink> on Windows.
</para>
</para>
<para>
- Zebra can be configured to use the following utilities (most of
+ &zebra; can be configured to use the following utilities (most of
which are optional):
<variablelist>
(required)</term>
<listitem>
<para>
- Zebra uses YAZ to support <ulink url="&url.z39.50;">Z39.50</ulink> /
- <ulink url="&url.sru;">SRU</ulink>.
- Also the memory management utilites from YAZ is used by Zebra.
+ &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>
(optional)</term>
<listitem>
<para>
- XML parser. If you're going to index real XML you should
+ &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>
<para>
Tcl is required if you need to use the Tcl record filter
- for Zebra. You can find binary packages for Tcl for many
+ for &zebra;. You can find binary packages for Tcl for many
Unices and Windows.
</para>
</listitem>
<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.
+ using the CVS version of &zebra;. You do not need these
+ if you have fetched a &zebra; tar.
</para>
</listitem>
</varlistentry>
<listitem>
<para>
These tools are only required if you're writing
- documentation for Zebra. You need the following
+ documentation for &zebra;. You need the following
Debian packages: docbook, docbook-xml, docbook-xsl,
docbook-utils, xsltproc.
</para>
<para>
On Unix, GCC works fine, but any native
C compiler should be possible to use as long as it is
- ANSI C compliant.
+ &acro.ansi; C compliant.
</para>
<para>
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.
+ directory of &zebra;.
</para>
<para>
<term><literal>zebrasrv</literal></term>
<listitem>
<para>
- The Z39.50 server and search engine.
+ The &acro.z3950; server and search engine.
</para>
</listitem>
</varlistentry>
</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
+ 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
+ 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>
+ <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>
apt-get update
</screen>
as <literal>root</literal>, the
- <ulink url="&url.idzebra;">Zebra</ulink> indexer is
+ <ulink url="&url.idzebra;">&zebra;</ulink> indexer is
easily installed issuing
<screen>
apt-get install idzebra-2.0 idzebra-2.0-doc
<section id="installation-debia-nother">
<title>Ubuntu/Debian and GNU/Debian on other platforms</title>
<para>
- These <ulink url="&url.idzebra;">Zebra</ulink>
+ 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
apt-get build-dep idzebra-2.0
</screen>
as <literal>root</literal>, the
- <ulink url="&url.idzebra;">Zebra</ulink> indexer is
+ <ulink url="&url.idzebra;">&zebra;</ulink> indexer is
recompiled and installed issuing
<screen>
- apt-get source --compile idzebra-2.0
+ fakeroot apt-get source --compile idzebra-2.0
</screen>
as normal user.
The compiled GNU/Debian packages can then be
</section>
<section id="installation-win32"><title>WIN32</title>
- <para>The easiest way to install Zebra on Windows is by downloading
+ <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.
+ compile &zebra; with different Compiler options.
</para>
<para>
- Zebra is shipped with "makefiles" for the NMAKE tool that comes
+ &zebra; is shipped with "makefiles" for the NMAKE tool that comes
with <ulink url="&url.vstudio;">Microsoft Visual C++</ulink>.
Version 2003 and 2005 has been tested. We expect that zebra compiles
with version 6 as well.
<varlistentry>
<term><literal>YAZDIR</literal></term>
<listitem><para>
- Directory of YAZ source. Zebra's makefile expects to find
+ Directory of &yaz; source. &zebra;'s makefile expects to find
<filename>yaz.lib</filename>, <filename>yaz.dll</filename>
in <replaceable>yazdir</replaceable><literal>/lib</literal> and
<replaceable>yazdir</replaceable><literal>/bin</literal> respectively.
<term><literal>HAVE_EXPAT</literal>,
<literal>EXPAT_DIR</literal></term>
<listitem><para>
- If <literal>HAVE_EXPAT</literal> is set to 1, Zebra is compiled
+ If <literal>HAVE_EXPAT</literal> is set to 1, &zebra; is compiled
with <ulink url="&url.expat;">Expat</ulink> support.
In this configuration, set
<literal>ZEBRA_DIR</literal> to the Expat source directory.
<term><literal>HAVE_ICONV</literal>,
<literal>ICONV_DIR</literal></term>
<listitem><para>
- If <literal>HAVE_ICONV</literal> is set to 1, Zebra is compiled
+ If <literal>HAVE_ICONV</literal> is set to 1, &zebra; is compiled
with iconv support. In this configuration, set
<literal>ICONV_DIR</literal> to the iconv source directory.
Iconv binaries can be downloaded from
<literal>BZIP2DEF</literal>
</term>
<listitem><para>
- Define these symbols if Zebra is to be compiled with
+ Define these symbols if &zebra; is to be compiled with
<ulink url="&url.bzip2;">BZIP2</ulink> record compression support.
</para></listitem>
</varlistentry>
</para>
<warning>
<para>
- The <literal>DEBUG</literal> setting in the makefile for Zebra must
+ The <literal>DEBUG</literal> setting in the makefile for &zebra; must
be set to the same value as <literal>DEBUG</literal> setting in the
- makefile for YAZ.
- If not, the Zebra server/indexer will crash.
+ makefile for &yaz;.
+ If not, the &zebra; server/indexer will crash.
</para>
</warning>
<para>
</para>
</note>
<para>
- If you wish to recompile Zebra - for example if you modify
+ If you wish to recompile &zebra; - for example if you modify
settings in the <filename>makefile</filename> you can delete
object files, etc by running.
<screen>
<variablelist>
<varlistentry><term><filename>bin/zebraidx.exe</filename></term>
<listitem><para>
- The Zebra indexer.
+ The &zebra; indexer.
</para></listitem></varlistentry>
<varlistentry><term><filename>bin/zebrasrv.exe</filename></term>
<listitem><para>
- The Zebra server.
+ The &zebra; server.
</para></listitem></varlistentry>
</variablelist>
<section id="installation-upgrade">
- <title>Upgrading from Zebra version 1.3.x</title>
+ <title>Upgrading from &zebra; version 1.3.x</title>
<para>
- Zebra's installation directories have changed a bit. In addition,
+ &zebra;'s installation directories have changed a bit. In addition,
the new loadable modules must be defined in the
master <filename>zebra.cfg</filename> configuration file. The old
version 1.3.x configuration options
</para>
<note>
<para>
- The internal binary register structures have changed; all Zebra
+ The internal binary register structures have changed; all &zebra;
databases must be re-indexed after upgrade.
</para>
</note>
redirection to other fields.
For example the following snippet of
a custom <filename>custom/bib1.att</filename>
- Bib-1 attribute set definition file is no
+ &acro.bib1; attribute set definition file is no
longer supported:
<screen>
att 1016 Any 1016,4,1005,62
</para>
<para>
Similar behaviour can be expressed in the new release by defining
- a new index <literal>Any:w</literal> in all GRS
+ a new index <literal>Any:w</literal> in all &acro.grs1;
<filename>*.abs</filename> record indexing configuration files.
The above example configuration needs to make the changes
from version 1.3.x indexing instructions
<screen>
att 1016 Body-of-text
</screen>
- with equivalent outcome without editing all GRS
+ with equivalent outcome without editing all &acro.grs1;
<filename>*.abs</filename> record indexing configuration files.
</para>
<para>
Server installations which use the special
- <literal>IDXPATH</literal> attribute set must add the following
+ <literal>&acro.idxpath;</literal> attribute set must add the following
line to the <filename>zebra.cfg</filename> configuration file:
<screen>
attset: idxpath.att