X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Finstallation.xml;h=7a1b9060c630bba7b10bfc26d6e268b9bfa3e0d9;hp=c6f81f22f1d88299b3ce3cdced0af3c42f824876;hb=d9849e03a9313647aa81846cf9cb05a06394e9ea;hpb=d940392c53c32ccf76fb287cc5b997b9e921a431 diff --git a/doc/installation.xml b/doc/installation.xml index c6f81f2..7a1b906 100644 --- a/doc/installation.xml +++ b/doc/installation.xml @@ -1,5 +1,5 @@ Compilation and Installation - + Introduction The latest version of the software will generally be found at: @@ -10,21 +10,20 @@ 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. + no changes. The software is regularly tested on Debian GNU/Linux, - Redhat Linux, + CentOS, Ubuntu Linux, FreeBSD (i386), MAC OSX, - SunOS 5.8 (sparc), - Windows 2000, - Windows 2003 server. + Solaris, + Windows 7, Windows XP. - + Some versions have be known to work on HP/UX, DEC Unix, NetBSD, @@ -44,33 +43,71 @@ #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 + bug-fixes, as well as general discussion. Subscribe by filling-in the form here. - General questions and problems can be directed at + General questions and problems can be directed at , or the address given at the top of this document. - + UNIX - 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 CPUs by building them from the source - package. + We provide + Debian GNU/Linux (i386 and amd64), + Ubuntu (i386 and amd64) + and + CentOS (amd64 only) packages for &yaz;. + You should be able to create packages for other CPUs by building + them from the source package. + + + + YAZ is also part of several packages repositories. Some of them are - + + + + + Solaris CSW: + + + + + Solaris: + + + + + FreeBSD: + + + + + Debian: + + + + + Ubuntu: + + + + + NetBSD: + + + + + Compiling from source on Unix - + Note that if your system doesn't have a native ANSI C compiler, you may have to acquire one separately. We recommend @@ -81,22 +118,23 @@ 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 + - if not, we suggest GNU libiconv. - YAZ 3.0.16 and later includes a wrapper for the - ICU + YAZ 3.0.16 and later includes a wrapper for the + ICU (International Components for Unicode). In order to use this, the developer version of the ICU library - must be available. + must be available. ICU support is recommended for applications + such as Pazpar2 and Zebra. The libxslt, libxml2 librararies are required - if &yaz; is to support SRU. + if &yaz; is to support SRU/Solr. These libraries are very portable and should compile out-of-the box on virtually all Unix platforms. It is available in binary forms for Linux and others. @@ -109,32 +147,32 @@ Libtool are used to generate Makefiles and configure &yaz; for the system. You do not these tools unless you're using the - CVS version of &yaz;. + Git version of &yaz;. The CQL parser for &yaz; is built using GNU Bison. - This tool is only needed if you're using the CVS version of &yaz;. + This tool is only needed if you're using the Git 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 + But as for Bison you do not need it unless you're using Git version of &yaz; or you're using the compiler to built own codecs - for private ASN.1. + for private ASN.1. - + Generally it should be sufficient to run configure without options, like this: - + ./configure - + The configure script attempts to use use the C compiler specified by the CC environment variable. If not set, GNU C will be @@ -143,15 +181,15 @@ 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=prefix @@ -172,7 +210,7 @@ hosts_access 5 - and + and tcpd 8 @@ -202,14 +240,14 @@ equivalent to --enable-static. - + --with-iconv[=prefix] Compile &yaz; with iconv library in directory prefix. By default configure will search for iconv on the system. Use this option if it - doesn't find iconv. Alternatively, + doesn't find iconv. Alternatively, --without-iconv, can be uset to force &yaz; not to use iconv. @@ -218,13 +256,13 @@ --with-xslt[=prefix] - Compile &yaz; with + Compile &yaz; with libxslt in directory - prefix. + prefix. Use this option if you want XSLT and XML support. By default, configure will search for libxslt on the system. Use this option if it - libxslt is not found automatically. Alternatively, + libxslt is not found automatically. Alternatively, --without-xslt, can be used to force &yaz; not to use libxslt. @@ -234,13 +272,13 @@ --with-xml2[=prefix] - Compile &yaz; with + Compile &yaz; with libxml2 in directory - prefix. - Use this option if you want &yaz; to use XML and support SRU. + prefix. + Use this option if you want &yaz; to use XML and support SRU/Solr. By default, configure will search for libxml2 on the system. Use this option if it - libxml2 is not found automatically. Alternatively, + libxml2 is not found automatically. Alternatively, --without-xml2, can be used to force &yaz; not to use libxml2. @@ -252,26 +290,48 @@ - --with-openssl[=prefix] + --with-gnutls[=prefix] - &yaz; will be linked with the OpenSSL libraries and - an SSL COMSTACK will be provided. Note that SSL support is still - experimental. + &yaz; will be linked with the GNU TLS libraries and + an SSL COMSTACK will be provided. By default configure enables + SSL support for YAZ if the GNU TLS development libraries are found + on the system. --with-icu[=prefix] - &yaz; will be linked the + &yaz; will be linked the ICU library in the prefix if given. If prefix is not given, the libraries exposed by the script icu-config will be used if found. + + --with-libgcrypt[=prefix] + + &yaz; will be linked with + Libgcrypt in the prefix if given. + If prefix is not given, the libraries exposed by the script + libgcrypt-config will be used if found. + + + + + --with-memcached + + &yaz; will be linked with + libMemcached to allow + for result-set caching for ZOOM. + The prefix can not be given. Note that YAZ will only search + for libMemcached if Libgcrypt is also enabled. + + + - + When configured, build the software by typing: @@ -279,7 +339,7 @@ make - + The following files are generated by the make process: @@ -287,24 +347,30 @@ Main &yaz; library. This is no ordinary library. It's a Libtool archive. - By default, &yaz; creates a static library in + By default, &yaz; creates a static library in lib/.libs/libyaz.a. - + src/libyaz_server.la Generic Frontend server. This is an add-on for libyaz.la. - Code in this library uses POSIX threads functions - if they - available on the platform. + Code in this library uses POSIX threads functions - if POSIX + threads are available on the platform. + + + + src/libyaz_icu.la + + Functions that wrap the ICU library. - + ztest/yaz-ztest - Test Z39.50 server. + Test Z39.50 server. - + client/yaz-client Z39.50 client for testing the protocol. See chapter @@ -318,78 +384,84 @@ &yaz;. - + util/yaz-asncomp The ASN.1 compiler for &yaz;. Requires the Tcl Shell, tclsh, in PATH to operate. - + 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. - + util/yaz-icu This program exposes the ICU wrapper library if that is enabled for YAZ. Only if ICU is available this program is useful. - + + util/yaz-url + This program is a simple HTTP page fetcher ala + wget or curl. + + + zoom/zoomsh - A simple shell implemented on top of the + 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/zoomtst1, zoom/zoomtst2, .. Several small applications that demonstrates the ZOOM API. - + - + - If you wish to install &yaz; in system directories + If you wish to install &yaz; in system directories /usr/local/bin, /usr/local/lib .. etc, 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 wish to install &yaz; in other directories than the default + you wish to install &yaz; in other directories than the default /usr/local/. - + If you wish to perform an un-installation of &yaz;, use: - + make uninstall - + This will only work if you haven't reconfigured &yaz; (and therefore changed installation prefix). Note that uninstall will not @@ -446,7 +518,7 @@ #include <proto.h> - + For Libtool users, the yaz-config script provides a different variant of option --libs, called @@ -472,31 +544,30 @@ WIN32 - + The easiest way to install YAZ on Windows is by downloading - an installer from + an installer from here. The installer comes with source too - in case you wish to - compile YAZ with different Compiler options etc. + compile YAZ with different compiler options, etc. - + Compiling from Source on WIN32 &yaz; is shipped with "makefiles" for the NMAKE tool that comes with - Microsoft Visual Studio. - Version 6 and .NET has been tested. We expect that &yaz; compiles - with version 5 as well. + Microsoft Visual Studio. It has been tested with + Microsoft Visual Studio 2003/2005/2008. Start a command 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 summarizes the most important settings in that file: - + DEBUG @@ -511,9 +582,10 @@ 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. + use the ASN.1 compiler (Tcl based). + You must set TCL to the full path of the Tcl + interpreter. A Windows version of Tcl is part of + Git for Windows. If you do not have Tcl installed, set @@ -525,15 +597,15 @@ HAVE_BISON, BISON - If GNU Bison is present, you might set HAVE_ICONV + If GNU Bison is present, you might set HAVE_BISON to 1 and specify the Bison executable in BISON. - Bison is only required if you use the CVS version of + Bison is only required if you use the Git version of YAZ or if you modify the grammar for CQL (cql.y). - A Windows version of GNU Bison is part of - unxutils. + A Windows version of GNU Bison is part of + Git for Windows. @@ -542,19 +614,19 @@ ICONV_DIR If HAVE_ICONV is set to 1, YAZ is compiled - with iconv support. In this configuration, set + 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 SRU support. In this configuration, set - LIBXML2_DIR to the + with SRU support. In this configuration, set + LIBXML2_DIR to the libxml2 source directory and ZLIB_DIR to the zlib directory. @@ -580,8 +652,8 @@ If HAVE_LIBXSLT is set to 1, YAZ is compiled - with XSLT support. In this configuration, set - LIBXSLT_DIR to the + with XSLT support. In this configuration, set + LIBXSLT_DIR to the libxslt source directory. @@ -600,8 +672,8 @@ If HAVE_ICU is set to 1, YAZ is compiled with ICU support. - In this configuration, set - ICU_DIR to the + In this configuration, set + ICU_DIR to the ICU source directory. @@ -636,48 +708,61 @@ The following files are generated upon successful compilation: - + - bin/yaz3.dll / - bin/yaz3d.dll + bin/yaz&soversion;.dll / + bin/yaz&soversion;d.dll &yaz; Release/Debug DLL. - - lib/yaz3.lib / - lib/yaz3d.lib + + lib/yaz&soversion;.lib / + lib/yaz&soversion;d.lib + + Import library for yaz&soversion;.dll / + yaz&soversion;d.dll. + + + bin/yaz_cond&soversion;.dll / + bin/yaz_cond&soversion;d.dll + + Release/Debug DLL for condition variable utilities (condvar.c). + + + lib/yaz_cond&soversion;.lib / + lib/yaz_cond&soversion;d.lib - Import library for yaz3.dll / - yaz3d.dll. + Import library for yaz_cond&soversion;.dll / + yaz_cond&soversion;d.dll. - - bin/yaz_icu3.dll / - bin/yaz_icu3d.dll + + bin/yaz_icu&soversion;.dll / + bin/yaz_icu&soversion;d.dll Release/Debug DLL for the ICU wrapper utility. Only build if HAVE_ICU is 1. - - lib/yaz_icu3.lib / - lib/yaz_icu3d.lib + + lib/yaz_icu&soversion;.lib / + lib/yaz_icu&soversion;d.lib - Import library for yaz_icu3.dll / - yaz_icu3d.dll. + Import library for yaz_icu&soversion;.dll / + yaz_icu&soversion;d.dll. - + bin/yaz-ztest.exe Z39.50 multi-threaded test/example server. It's a WIN32 console application. - + bin/yaz-client.exe &yaz; Z39.50 client application. It's a WIN32 console application. See chapter YAZ client for more information. - + bin/yaz-icu.exe This program exposes the ICU wrapper library if that is enabled for YAZ. Only if ICU is available this program is @@ -691,15 +776,15 @@ The application is a command line shell that allows you to enter simple commands to perform ZOOM operations. - - bin/zoomtst1.exe, + + bin/zoomtst1.exe, bin/zoomtst2.exe, .. Several small applications that demonstrates the ZOOM API. - + - + @@ -722,14 +807,15 @@ include path Set it to the include directory of &yaz;. - import library yaz3.lib + import library yaz&soversion;.lib - You must link with this library. It's located in the + 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 against yaz3d.lib instead. + link against yaz&soversion;d.lib instead. - dynamic link library yaz3.dll + dynamic link library + yaz&soversion;.dll This DLL must be in your execution path when you invoke your application. Specifically, you should distribute this @@ -740,7 +826,7 @@ - + - +