Zebra Server - Administrators's Guide and Reference: Compiling the software

Next Previous Contents

## 2. Compiling the software

You need the YAZ package in order to compile this software. We suggest you unpack YAZ in the same directory as Zebra. Running ./configure (UNIX Only) and running make (nmake on WIN32) is in usully what it takes to compile YAZ.

## 2.1 UNIX

An ANSI C compiler is required to compile the Zebra server system — `gcc` works very well if your own system doesn't provide an adequate compiler.

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 the C compiler specified by the `CC` environment variable. If not set, GNU C will be used if it is available. The `CFLAGS` environment variable holds options to be passed to the C compiler. If you're using a Bourne-compatible shell you may pass something like this:

> `

>       CC=/opt/ccs/bin/cc CFLAGS=-O ./configure

> `

To customize Zebra the configure script accepts a set of options. The most important are

`-``-prefix` path

  Specifies installation prefix. This is only needed if you run `make install` later to perform a "system" installation. The prefix is `/usr/local` if not specified.

`-``-with-tclconfig=`DIR

  If Tcl is installed on the system you can tell configure in which directory Tcl's `tclConfig.sh` is stored. The `tclConfig.sh` include information about settings required to link with Tcl's libraries. If you don't specify this option, configure will see if Tcl's shell `tclsh` is in your path and if it is, it will guess where the equivalent tclConfig.sh is located. If tclsh is not found in your path and this option is not given Zebra will not include Tcl support.

`-``-with-yazconfig=`DIR

  This options allows you to specify the directory that contains YAZ's `yaz-config`. This options is useful if you wish to compile Zebra with a specific version of YAZ. YAZ version 1.5 and later creates a script `yaz-config` that includes information on compiler settings needed to link with it.

When configured build the software by typing:

> `

>       make

> `

As an option you may type `make depend` to create source file dependencies for the package. This is only needed, however, if you modify the source code later.

If successful, two executables have been created in the sub-directory `bin`.

`zebrasrv`

  The Z39.50 server and search engine.

`zebraidx`

  The administrative tool for the search index.

The next step is optional and is only needed if you wish to install zebra in system directories such as /usr/bin, /usr/lib, etc.

To perform this step, type

> `

>       make install

> `

The executables will be installed in prefix/bin, and profile tables will be installed in prefix/lib/zebra/tab. Here prefix represents the prefix as specified -- default being /usr/local.

## 2.2 WIN32

Zebra is shipped with "makefiles" for the NMAKE tool that comes with Visual C++.

Start an MS-DOS prompt and switch the sub directory `WIN` where the file `makefile` is located. Customize the installation by editing the `makefile` file (for example by using wordpad).

The following summarises the most important settings in that file.

`YAZDIR`

  Specifies where YAZ is located.

`DEBUG`

  If set to 1, the software is compiled with debugging libraries. If set to 0, the software is compiled with release (non-debugging) libraries.

BZIP2

  A group of settings (`BZIP2LIB`,..) that must be defined if BZIP2 compression support is desired.

When satisfied with the settings in the makefile type

> `

>     nmake

> `

If compilation was successful the executables `zebraidx.exe` and `zebrasrv.exe` are put in the sub directory `BIN`.

Next Previous Contents