Table of Contents
Zebra is written in ANSI C and was implemented with portability in mind. We primarily use GCC on UNIX and Microsoft Visual C++ on Windows.
The software is regularly tested on Debian GNU/Linux, Red Hat Linux, FreeBSD (i386), MAC OSX, Windows 7.
Zebra can be configured to use the following utilities (most of which are optional):
Zebra uses YAZ to support Z39.50 / SRU. Zebra also uses a lot of other utilities (not related to networking), such as memory management and XML support.
For the DOM XML / ALVIS record filters, YAZ must be compiled with Libxml2 and Libxslt support and Libxml2 must be version 2.6.15 or later.
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.
XML parser. If you're going to index real XML you should install this (filter grs.xml). On most systems you should be able to find binary Expat packages.
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.
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.
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.
On Unix, GCC works fine, but any native C compiler should be possible to use as long as it is ANSI C compliant.
Unpack the distribution archive. The configure
shell script attempts to guess correct values for various
system-dependent variables used during compilation.
It uses those values to create a Makefile
in each
directory of Zebra.
To run the configure script type:
./configure
The configure script attempts to use C compiler specified by
the CC
environment variable.
If this is not set, cc
or GNU C will be used.
The CFLAGS
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:
CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
The configure script support various options: you can see what they are with
./configure --help
Once the build environment is configured, build the software by typing:
make
If the build is successful, two executables are created in the
sub-directory index
:
zebrasrv
The Z39.50 server and search engine.
zebraidx
The administrative indexing tool.
index/*.so
The .so
-files are Zebra record filter modules.
There are modules for reading
MARC (mod-grs-marc.so
),
XML (mod-grs-xml.so
) , etc.
Using configure option --disable-shared
builds
Zebra statically and links "in" Zebra filter code statically, i.e.
no .so-files
are generated
You can now use Zebra. If you wish to install it system-wide, then as root type
make install
By default this will install the Zebra executables in
/usr/local/bin
,
and the standard configuration files in
/usr/local/share/idzebra-2.0
. If
shared modules are built, these are installed in
/usr/local/lib/idzebra-2.0/modules
.
You can override this with the --prefix
option
to configure.