X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Finstallation.xml;h=8ea4d7892b001a9859ee13e9665029d252c6e728;hb=2ba3d1d3bf2b57c7ac462b347cb18f06820ac73a;hp=75bfa57c0d4ee2d91bd8d73df4f6df88244076c4;hpb=5cc38fde071f94e8be5899679bea16e57e35a90f;p=yaz-moved-to-github.git diff --git a/doc/installation.xml b/doc/installation.xml index 75bfa57..8ea4d78 100644 --- a/doc/installation.xml +++ b/doc/installation.xml @@ -1,4 +1,4 @@ - + Compilation and Installation Introduction @@ -12,34 +12,31 @@ 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. - - - Unix systems - - HP/UX - SunOS/Solaris - DEC Unix - BSDs: FreeBSD, OpenBSD, NetBSD - MAC OSX - Linux - IBM AIX - Data General DG/UX (with some CFLAGS tinkering) - - SGI/IRIX - DDE Supermax - - Non-unix systems - - Apple Macintosh (using the Codewarrior programming - environment and the GUSI socket libraries) - MS Windows 95/98/NT/2K/XP (Win32) - IBM AS/400 - - - + no changes. + + + + The software is regularly tested on + Debian GNU/Linux, + Redhat Linux, + Gentoo Linux, + FreeBSD (i386), + MAC OSX, + + SunOS 5.8 (sparc), + + Windows 2000. + + + + Some versions have be known to work on HP/UX, + DEC Unix, NetBSD, + OpenBSD, + IBM AIX, + Data General DG/UX (with some CFLAGS tinkering), + SGI/IRIX, DDE Supermax, Apple Macintosh (using the Codewarrior programming + environment and the GUSI socket libraries), + IBM AS/400 . @@ -69,9 +66,12 @@ UNIX - We provide Debian GNU/Linux and Redhat packages for YAZ. + We provide + Debian GNU/Linux + and + Redhat packages for &yaz;. Only i386 binary packages are available. You should be able to - create packages for other CPU's by building them from the source + create packages for other CPUs by building them from the source package. @@ -83,8 +83,25 @@ have to acquire one separately. We recommend GCC. + + + If you wish to use character set conversion facilities in &yaz; or if you + are compiling &yaz; for use with Zebra it is a good idea to ensure that + the iconv library is installed. Some Unixes today already have it + - if not, we suggest + GNU iconv. + + + + The XML C library libxml2 + is required if &yaz; is to support SRW and SRU. + This library is very portable and should compile out-of-the + box on virtually all Unix platforms. It is available in binary + forms for Linux and others. + + - For UNIX, the GNU tools + The GNU tools Autoconf, Automake and Libtool @@ -92,15 +109,21 @@ You do not these tools unless you're using the CVS version of &yaz;. - + - If you wish to use character set conversion facilities in YAZ or if you - are compiling YAZ for use with Zebra it is a good idea to ensure that - the iconv library is installed. Most Unixes today already have it - - if not, we suggest - GNU iconv. + The CQL parser for &yaz; is built using + GNU Bison. + This tool is only needed if you're using the CVS version of &yaz;. - + + + &yaz; includes a tiny ASN.1 compiler. This compiler is + written in Tcl. + But as for Bison you do not need it unless you're using CVS + version of &yaz; or you're using the compiler to built own codecs + for private ASN.1. + + Generally it should be sufficient to run configure without options, like this: @@ -128,8 +151,9 @@ The most important are: - --prefix path - Specifies installation prefix. This is + + --prefix=prefix + Specifies installation prefix for &yaz;. This is only needed if you run make install later to perform a "system" installation. The prefix is /usr/local if not specified. @@ -153,18 +177,14 @@ . + --enable-threads &yaz; will be built using POSIX threads. Specifically, _REENTRANT will be defined during compilation. - --with-openssl - &yaz; will be linked with the OpenSSL libraries and - an SSL COMSTACK will be provided. Note that SSL support is still - experimental. - - + --enable-shared The make process will create shared libraries (also known as shared objects .so). @@ -172,6 +192,7 @@ equivalent to --disable-shared. + --disable-shared The make process will not create static libraries (.a). @@ -181,15 +202,40 @@ - --with-iconv[=dir] - Compile YAZ with iconv library in directory - dir. By default configure will + --with-iconv[=prefix] + + Compile &yaz; with iconv library in directory + prefix. By default configure will search for iconv on your system. Use this option if it doesn't find iconv. Alternatively you can use - --without-iconv to force YAZ not to use + --without-iconv to force &yaz; not to use iconv. + + + --with-xml2[=prefix] + + Compile &yaz; with + libxml2 in directory + prefix. + Use this option if you want SOAP support. + By default configure will + search for libxml2 on your system. Use this option if it + doesn't find libxml2. Alternatively you can use + --without-xml2 to force &yaz; not to use + libxml2. + + + + + --with-openssl[=prefix] + + &yaz; will be linked with the OpenSSL libraries and + an SSL COMSTACK will be provided. Note that SSL support is still + experimental. + + @@ -204,56 +250,77 @@ The following files are generated by the make process: - lib/libyaz.la + src/libyaz.la Main &yaz; library. This is no ordinary library. It's a Libtool archive. By default, &yaz; creates a static library in lib/.libs/libyaz.a. - + + - lib/libyazthread.la + src/libyazthread.la When threading is supported/enabled by configure this Libtool library is created. It includes functions that allows &yaz; to use threads. - + + ztest/yaz-ztest Test Z39.50 server. - + + client/yaz-client Z39.50 client for testing the protocol. See chapter YAZ client for more information. - + + - yaz-config + util/yaz-config A Bourne-shell script, generated by configure, that specifies how external applications should compile - and link with &yaz;. - + + - yaz-comp + util/yaz-asncomp The ASN.1 compiler for &yaz;. Requires the Tcl Shell, tclsh, in PATH to operate. - + + - zoom/zoomsh + util/yaz-iconv + This program converts data in one character set to + another. This command exercises the YAZ character set + conversion API. + + + + util/yaz-marcdump + This program parses ISO2709 encoded MARC records + and prints them in line-format or XML. + + + + zoom/zoomsh A simple shell implemented on top of the ZOOM functions. The shell is a command line application that allows you to enter simple commands to perform ZOOM operations. - + + zoom/zoomtst1, zoom/zoomtst2, .. Several small applications that demonstrates the ZOOM API. - + + @@ -271,7 +338,7 @@ You probably need to have root access in order to perform this. You must specify the --prefix option for configure if - you wish to install &yaz; in other directories than the default + you wish to install &yaz; in other directories than the default /usr/local/. @@ -376,8 +443,10 @@ Compiling from Source on WIN32 &yaz; is shipped with "makefiles" for the NMAKE tool that comes - with Microsoft Visual C++. Version 6 has been tested. We expect that - &yaz; should compile with version 5 as well. + with + Microsoft Visual Studio. + Version 6 and .NET has been tested. We expect that &yaz; compiles + with version 5 as well. Start a command prompt and switch the sub directory @@ -397,22 +466,72 @@ (code generation is multi-threaded DLL). - TCL + + HAVE_TCL, TCL + + If HAVE_TCL is set to 1, nmake will + use the ASN.1 compiler (Tcl based). You must set + TCL to the full path of the Tcl + interpreter. + + + If you do not have Tcl installed, set + HAVE_TCL to 0. + + + + + HAVE_BISON, + BISON - Specifies the name of the Tcl shell (EXE-file). - You do not need setting this or installing Tcl unless you wish - to change or add ASN.1 for &yaz;. + If GNU Bison is present, you might set HAVE_ICONV + to 1 and specify the Bison executable in BISON. + Bison is only required if you use the CVS version of + YAZ or if you modify the grammar for CQL + (cql.y). + + + A Windows version of GNU Bison is part of + unxutils. - HAVE_ICONV, ICONV_DIR + HAVE_ICONV, + ICONV_DIR If HAVE_ICONV is set to 1, YAZ is compiled with iconv support. In this configuration, set ICONV_DIR to the iconv source directory. + + + HAVE_LIBXML2, + LIBXML2_DIR + + + If HAVE_LIBXML2 is set to 1, YAZ is compiled + with SRW and SRU support. In this configuration, set + LIBXML2_DIR to the + libxml2 source directory + and + ZLIB_DIR to the zlib directory. + + + + Windows versions of libxml2, zlib and iconv can be found + + Igor Zlatković' site. + + + + + YAZ is not using ZLIB. But libxml2 is. + + + + @@ -421,13 +540,17 @@ nmake - If command nmake is not found on your system - you probably haven't defined the environment variables required to - use that tool. To fix that, find and run the batch file - vcvars32.bat. You need to run it from within - the command prompt or set the environment variables "globally"; - otherwise it doesn't work. + + + If the nmake command is not found on your system + you probably haven't defined the environment variables required to + use that tool. To fix that, find and run the batch file + vcvars32.bat. You need to run it from within + the command prompt or set the environment variables "globally"; + otherwise it doesn't work. + + If you wish to recompile &yaz; - for example if you modify settings in the makefile you can delete @@ -442,7 +565,7 @@ bin/yaz.dll - &yaz; multi-threaded Dynamic Link Library. + &yaz; release mode multi-threaded Dynamic Link Library. lib/yaz.lib @@ -450,6 +573,16 @@ Import library for yaz.dll. + bin/yazd.dll + + &yaz; debug mode multi-threaded Dynamic Link Library. + + + lib/yazd.lib + + Import library for yazd.dll. + + bin/yaz-client.exe &yaz; Z39.50 client application. It's a WIN32 console application. @@ -504,6 +637,8 @@ You must link with this library. It's located in the sub directory lib of &yaz;. + If you want to link with the debug version of &yaz;, you must + link with yazd.dll instead. dynamic link library yaz.dll