X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=doc%2Finstallation.xml;h=d0670d17d24322850fab4cb9ed891da98d542465;hp=6ade13830b4c6ac91a1871cc82cf30794162eb85;hb=ba0720e26f508ba3396e232d2f82037c0e701698;hpb=79dbb0556936ee101483f693d38bd5e97c49689e diff --git a/doc/installation.xml b/doc/installation.xml index 6ade138..d0670d1 100644 --- a/doc/installation.xml +++ b/doc/installation.xml @@ -1,76 +1,515 @@ - - - Installation - - An ANSI C compiler is required to compile the Zebra - server system — gcc works fine 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: + + Installation + + &zebra; is written in &acro.ansi; C and was implemented with portability in mind. + We primarily use GCC on UNIX and + Microsoft Visual C++ on Windows. + - - ./configure - - - - - - The configure script attempts to use C compiler specified by - the CC environment variable. - If not set, cc or GNU C will be used. - The CFLAGS environment variable holds - options to be passed to the C compiler. If you're using a - Bourne-shell compatible shell you may pass something like this: + + The software is regularly tested on + Debian GNU/Linux, + Red Hat Linux, + Gentoo Linux, + SuSE Linux, + FreeBSD (i386), + MAC OSX, + SunOS 5.9 + (sparc), + Windows 2000. + - - CC=/opt/ccs/bin/cc CFLAGS=-O ./configure - + + &zebra; can be configured to use the following utilities (most of + which are optional): - - - - When configured build the software by typing: - - - make - - - - - - If successful, two executables have been created in the sub-directory - index. - + + + &yaz; + (required) + + + &zebra; uses &yaz; to support &acro.z3950; / + &acro.sru;. + Zebra also uses a lot of other utilities (not related to networking), + such as memory management and XML support. + + + For the DOM XML + / ALVIS + record filters, &yaz; must be compiled with + Libxml2 + and + Libxslt + support and Libxml2 must be version 2.6.15 or later. + + + + + iconv + (optional) + + + Character set conversion. This is required if you're + going to use any other character set than UTF-8 and ISO-8859-1 + for records. Note that some Unixes has iconv built-in. + + + + + Expat + (optional) + + + &acro.xml; parser. If you're going to index real &acro.xml; you should + install this (filter grs.xml). On most systems you should be able + to find binary Expat packages. + + + + + + Tcl (optional) + + + Tcl is required if you need to use the Tcl record filter + for &zebra;. You can find binary packages for Tcl for many + Unices and Windows. + + + + + + + Autoconf, + Automake + (optional) + + + GNU Automake and Autoconf are only required if you're + using the CVS version of &zebra;. You do not need these + if you have fetched a &zebra; tar. + + + + + + Docbook + and friends (optional) + + + These tools are only required if you're writing + documentation for &zebra;. You need the following + Debian packages: docbook, docbook-xml, docbook-xsl, + docbook-utils, xsltproc. + + + + + + +
UNIX + + On Unix, GCC works fine, but any native + C compiler should be possible to use as long as it is + &acro.ansi; C compliant. + + + + 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 C compiler specified by + the CC environment variable. + If this is not set, cc or GNU C will be used. + The CFLAGS environment variable holds + options to be passed to the C compiler. If you're using a + Bourne-shell compatible shell you may pass something like this: + + + CC=/opt/ccs/bin/cc CFLAGS=-O ./configure + + + + The configure script support various options: you can see what they + are with + + ./configure --help + + + + + Once the build environment is configured, build the software by + typing: + + make + + + + + If the build is successful, two executables are created in the + sub-directory index: + + + + zebrasrv + + + The &acro.z3950; server and search engine. + + + + + zebraidx + + + The administrative indexing tool. + + + + + + index/*.so + + + The .so-files are &zebra; record filter modules. + There are modules for reading + &acro.marc; (mod-grs-marc.so), + &acro.xml; (mod-grs-xml.so) , etc. + + + + + + + + + + Using configure option --disable-shared builds + &zebra; statically and links "in" &zebra; filter code statically, i.e. + no .so-files are generated + + + + + You can now use &zebra;. If you wish to install it system-wide, then + as root type + + make install + + By default this will install the &zebra; executables in + /usr/local/bin, + and the standard configuration files in + /usr/local/share/idzebra-2.0. If + shared modules are built, these are installed in + /usr/local/lib/idzebra-2.0/modules. + You can override this with the --prefix option + to configure. + +
+ +
GNU/Debian +
GNU/Debian Linux on + i686 Platform + + Index Data provides pre-compiled GNU/Debian i686 Linux packages + at our Debian package archive, both for + the Sarge and the Etch release. + + + + To install these packages, you need to add two lines to your + /etc/apt/sources.list configuration file, + either the Sarge sources found at + + deb http://ftp.indexdata.dk/debian sarge main + deb-src http://ftp.indexdata.dk/debian sarge main + + or the Etch sources from + + deb http://ftp.indexdata.dk/debian etch main + deb-src http://ftp.indexdata.dk/debian etch main + + After refreshing the package cache with the command + + apt-get update + + as root, the + &zebra; indexer is + easily installed issuing + + apt-get install idzebra-2.0 idzebra-2.0-doc + + +
+ +
+ Ubuntu/Debian and GNU/Debian on other platforms + + These &zebra; + packages are specifically compiled for + GNU/Debian Linux systems. Installation on other + GNU/Debian systems is possible by + re-compilation the Debian way: you need to add only the + deb-src sources lines to the + /etc/apt/sources.list configuration file, + that is either the Sarge sources + + deb-src http://ftp.indexdata.dk/debian sarge main + + or the Etch sources + + deb-src http://ftp.indexdata.dk/debian etch main + + After refreshing the package cache with the command + + apt-get update + apt-get build-dep idzebra-2.0 + + as root, the + &zebra; indexer is + recompiled and installed issuing + + fakeroot apt-get source --compile idzebra-2.0 + + as normal user. + The compiled GNU/Debian packages can then be + installed as root issuing + + dpkg -i install idzebra-2.0*.deb libidzebra-2.0*.deb + + +
+
+ +
WIN32 + The easiest way to install &zebra; on Windows is by downloading + an installer from + here. + The installer comes with source too - in case you wish to + compile &zebra; with different Compiler options. + - - zebrasrv - - - The Z39.50 server and search engine. - - - - - zebraidx - - - The administrative indexing tool. - - - - - - - + + &zebra; is shipped with "makefiles" for the NMAKE tool that comes + with Microsoft Visual C++. + Version 2003 and 2005 has been tested. We expect that zebra compiles + with version 6 as well. + + + 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 + + If set to 1, the software is + compiled with debugging libraries (code generation is + multi-threaded debug DLL). + If set to 0, the software is compiled with release libraries + (code generation is multi-threaded DLL). + + + + + YAZDIR + + Directory of &yaz; source. &zebra;'s makefile expects to find + yaz.lib, yaz.dll + in yazdir/lib and + yazdir/bin respectively. + + + + + + HAVE_EXPAT, + EXPAT_DIR + + If HAVE_EXPAT is set to 1, &zebra; is compiled + with Expat support. + In this configuration, set + ZEBRA_DIR to the Expat source directory. + Windows version of Expat can be downloaded from + SourceForge. + + + + + HAVE_ICONV, + ICONV_DIR + + If HAVE_ICONV is set to 1, &zebra; is compiled + with iconv support. In this configuration, set + ICONV_DIR to the iconv source directory. + Iconv binaries can be downloaded from + this site. + + + + + + BZIP2INCLUDE, + BZIP2LIB, + BZIP2DEF + + + Define these symbols if &zebra; is to be compiled with + BZIP2 record compression support. + + + + + + + + The DEBUG setting in the makefile for &zebra; must + be set to the same value as DEBUG setting in the + makefile for &yaz;. + If not, the &zebra; server/indexer will crash. + + + + When satisfied with the settings in the makefile, type + + nmake + + + + + 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 &zebra; - for example if you modify + settings in the makefile you can delete + object files, etc by running. + + nmake clean + + + + The following files are generated upon successful compilation: + + + bin/zebraidx.exe + + The &zebra; indexer. + + + bin/zebrasrv.exe + + The &zebra; server. + + + + + +
+ + +
+ Upgrading from &zebra; version 1.3.x + + &zebra;'s installation directories have changed a bit. In addition, + the new loadable modules must be defined in the + master zebra.cfg configuration file. The old + version 1.3.x configuration options + + # profilePath - where to look for config files + profilePath: some/local/path:/usr/share/idzebra/tab + + must be changed to + + # profilePath - where to look for config files + profilePath: some/local/path:/usr/share/idzebra-2.0/tab + + # modulePath - where to look for loadable zebra modules + modulePath: /usr/lib/idzebra-2.0/modules + + + + + The internal binary register structures have changed; all &zebra; + databases must be re-indexed after upgrade. + + + + The attribute set definition files may no longer contain + redirection to other fields. + For example the following snippet of + a custom custom/bib1.att + &acro.bib1; attribute set definition file is no + longer supported: + + att 1016 Any 1016,4,1005,62 + + and should be changed to + + att 1016 Any + + + + Similar behaviour can be expressed in the new release by defining + a new index Any:w in all &acro.grs1; + *.abs record indexing configuration files. + The above example configuration needs to make the changes + from version 1.3.x indexing instructions + + xelm /*/alternative Body-of-text:w,Title:s,Title:w + xelm /*/title Body-of-text:w,Title:s,Title:w + + to version 2.0.0 indexing instructions + + xelm /*/alternative Any:w,Body-of-text:w,Title:s,Title:w + xelm /*/title Any:w,Body-of-text:w,Title:s,Title:w + + + + It is also possible to map the numerical attribute value + @attr 1=1016 onto another already existing huge + index, in this example, one could for example use the mapping + + att 1016 Body-of-text + + with equivalent outcome without editing all &acro.grs1; + *.abs record indexing configuration files. + + + + Server installations which use the special + &acro.idxpath; attribute set must add the following + line to the zebra.cfg configuration file: + + attset: idxpath.att + + +
+ +