The latest version of the software will generally be found at
http://ftp.indexdata.dk/pub/yaz/
We have tried our best to keep the software portable, and on many platforms, you should be able to compile everything with little or no changes. So far, the software has been ported to the following platforms with little or no difficulties.
If you move the software to other platforms, we'd be grateful if you'd let us know about it. If you run into difficulties, we will try to help if we can, and if you solve the problems, we would be happy to include your fixes in the next release. So far, we have mostly avoided #ifdefs for individual platforms, and we'd like to keep it that way as far as it makes sense.
We maintain a mailing-list for the purpose of announcing new releases and
bug-fixes, as well as general discussion. Subscribe by sending mail to
[email protected]
. General questions and problems can be
directed at [email protected]
, or the address given at the top
of this document.
Note that if your system doesn't have a native ANSI C compiler, you may have to acquire one separately. We recommend gcc.
For UNIX we use GNU configure to create Makefiles for YAZ. Generally it should be sufficient to run configure without options:
./configure
The configure script attempts to use 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 Bourne-compatible shell
you may pass something like this to use a particular C compiler with
optimization enabled:
CC=/opt/ccs/bin/cc CFLAGS=-O ./configure
To customize YAZ the configure script also accepts a set of options. The most important are:
-
-prefix
pathSpecifies 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.
-
-enable-comp
YAZ will be built using
the ASN.1 compiler for YAZ (default). If you wish to use the
old decoders (in sub directory asn) use --disable-comp
instead.
-
-enable-threads
YAZ will be built using
POSIX threads. Specifically, _REENTRANT
will be defined
during compilation.
When configured, build the software by typing:
make
Developers that do modifications to YAZ may wish to run
make depend
as well to generate object-header file
dependencies.
The following files are generated by make
lib/libyaz.a
The YAZ programmers' library.
ztest/yaz-ztest
A test Z39.50 server.
client/yaz-client
A command mode Z39.50 client.
yaz-config
A Bourne-shell script that holds build settings for YAZ.
If you wish to install YAZ in system directories such as /usr/local/bin, /usr/local/lib) you can type:
make install
You probably need to have root access in order to perform this.
You must specify the --prefix
option for configure if you
going to install in anything but /usr/local/.
YAZ 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 notepad).
The following summarises the most important settings in that file:
NEW_Z3950
If 1, the auto-generated decoder/encoders for Z39.50 as written by the ASN.1 compiler will be used. If 0, the old decoders for Z39.50 will be used. Note, when 1, the setting TCL should point to the Tcl shell on your system.
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.
When satisfied with the settings in the makefile type
nmake
The following is generated upon successful compilation:
bin/yaz.dll
A multithreaded DLL with everything except the frontend server library.
lib/yaz.lib
An import library for yaz.dll
.
lib/server.lib
The frontend server library.
bin/yaz-ztest.exe
A test Z39.50 server.
bin/yaz-client.exe
A command mode Z39.50 client.