Chapter 2. Installation
Prev |  | Next

# Chapter 2. Installation

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):

YAZ (required)

  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.

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.

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: docbook, docbook-xml, docbook-xsl, docbook-utils, xsltproc.

## 1. 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.

`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.

### Note

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.

Prev |  | Next
4. Support | Home | 2. GNU/Debian