Chapter 2. Installation

Table of Contents
UNIX
WIN32

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, Redhat Linux, Gentoo Linux, SuSE Linux, FreeBSD (i386), MAC OSX, SunOS 5.8 (sparc), Windows 2000.

Zebra can be configured to use the following utilities (most of which are optional):

yaz (required)

Zebra uses YAZ to support Z39.50/SRW. Also the memory management utilites from YAZ is used by Zebra.

iconv (optional)

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.

Expat (optional)

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.

Perl (optional)

Perl is required if you're going to use the Zebra perl filter facility or the Zebra perl API. Perl is preinstalled on many Unixes. We've not tried the Perl extension on Windows ourselves.

Tcl (optional)

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.

Autoconf, Automake (optional)

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.

Docbook and friends (optional)

These tools are only required if you're writing documentation for Zebra. You need the following Debian packages: jadetex, docbook, docbook-dsssl, docbook-xml, docbook-utils.

UNIX

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.

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 You can override this with the --prefix option to configure.