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