From 5cc38fde071f94e8be5899679bea16e57e35a90f Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 25 Sep 2002 20:38:36 +0000 Subject: [PATCH] Installation mentions packages for YAZ as well as iconv support. --- doc/installation.xml | 596 +++++++++++++++++++++++++++----------------------- 1 file changed, 326 insertions(+), 270 deletions(-) diff --git a/doc/installation.xml b/doc/installation.xml index 4f89d4d..75bfa57 100644 --- a/doc/installation.xml +++ b/doc/installation.xml @@ -1,4 +1,4 @@ - + Compilation and Installation Introduction @@ -22,8 +22,8 @@ HP/UX SunOS/Solaris DEC Unix - BSDs: FreeBSD, OpenBSD, NetBSD, MAC OSX - + BSDs: FreeBSD, OpenBSD, NetBSD + MAC OSX Linux IBM AIX Data General DG/UX (with some CFLAGS tinkering) @@ -41,6 +41,7 @@ + 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 @@ -66,195 +67,229 @@ UNIX - - - 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, the GNU tools - Autoconf, - Automake and - 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;. - 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 - 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: + 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 + package. - - CC=/opt/ccs/bin/cc CFLAGS=-O ./configure - - - - To customize &yaz;, the configure script also accepts a set of options. - The most important are: + + Compiling from source on Unix - - --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. - - - --enable-tcpd - The front end server will be built using Wietse's - - TCP wrapper library. It allows you to allow/deny - clients depending on IP number. The TCP wrapper library is - often used in Linux/BSD distributions. - See - - hosts_access - 5 - - and - - tcpd - 8 - . - - - --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). - By default, no shared libraries are created - - equivalent to --disable-shared. - - - --disable-shared - The make process will not create - static libraries (.a). - By default, static libraries are created - - equivalent to --enable-static. - - - + + 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, the GNU tools + Autoconf, + Automake and + 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;. + + + + 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. + + + + Generally it should be sufficient to run configure without options, + like this: + - - - When configured, build the software by typing: - make + ./configure - - - - The following files are generated by the make process: - - lib/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 - - 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. - + + + 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: - client/yaz-client - Z39.50 client for testing the protocol. - See chapter - YAZ client for more information. - + + --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. + + + --enable-tcpd + The front end server will be built using Wietse's + + TCP wrapper library. It allows you to allow/deny + clients depending on IP number. The TCP wrapper library is + often used in Linux/BSD distributions. + See + + hosts_access + 5 + + and + + tcpd + 8 + . + + + --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). + By default, no shared libraries are created - + equivalent to --disable-shared. + + + --disable-shared + The make process will not create + static libraries (.a). + By default, static libraries are created - + equivalent to --enable-static. + + + + + --with-iconv[=dir] + Compile YAZ with iconv library in directory + dir. 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 + iconv. + + + + - yaz-config - A Bourne-shell script, generated by configure, that - specifies how external applications should compile - and link with - &yaz;. - + + + When configured, build the software by typing: + + make + + + + + The following files are generated by the make process: + + lib/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 + + 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 + A Bourne-shell script, generated by configure, that + specifies how external applications should compile - and link with + &yaz;. + + + yaz-comp + The ASN.1 compiler for &yaz;. Requires the + Tcl Shell, tclsh, in + PATH to operate. + + + 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. + + - yaz-comp - The ASN.1 compiler for &yaz;. Requires the - Tcl Shell, tclsh, in - PATH to operate. - - - 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. - - + - - - - If you wish to install &yaz; in system directories - /usr/local/bin, - /usr/local/lib .. etc, you can type: - - - - make install - + + 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 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 - /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 - remove directories created by make install, e.g. - /usr/local/include/yaz. - + /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 + remove directories created by make install, e.g. + /usr/local/include/yaz. + + How to make apps using YAZ on UNIX @@ -330,102 +365,123 @@ 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. - - - 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). - - - TCL - - 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;. - - - + The easiest way to install YAZ on Windows is by downloading + an installer from + here. + The installer comes with source too - in case you wish to + compile YAZ with different Compiler options etc. - - When satisfied with the settings in the makefile, type - - 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 you wish to recompile &yaz; - 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/yaz.dll - - &yaz; multi-threaded Dynamic Link Library. - - - lib/yaz.lib - - Import library for yaz.dll. - - - bin/yaz-client.exe - - &yaz; Z39.50 client application. It's a WIN32 console application. - See chapter YAZ client for more - information. - + + + 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. + + + 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). - bin/yaz-ztest.exe - - Z39.50 multi-threaded test/example server. It's a WIN32 - console application. - + The following summarizes the most important settings in that file: - bin/zoomsh.exe - - Simple console application implemented on top of the - ZOOM functions. - The application is a command line shell that allows you to enter - simple commands perform to perform ZOOM operations. - + + 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). + + + TCL + + 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;. + + + + + 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. + + + + + + + When satisfied with the settings in the makefile, type + + 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 you wish to recompile &yaz; - 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/zoomtst1.exe, - bin/zoomtst2.exe, .. - - Several small applications that demonstrates the ZOOM API. - + + bin/yaz.dll + + &yaz; multi-threaded Dynamic Link Library. + + + lib/yaz.lib + + Import library for yaz.dll. + + + bin/yaz-client.exe + + &yaz; Z39.50 client application. It's a WIN32 console application. + See chapter YAZ client for more + information. + + + bin/yaz-ztest.exe + + Z39.50 multi-threaded test/example server. It's a WIN32 + console application. + + + bin/zoomsh.exe + + Simple console application implemented on top of the + ZOOM functions. + The application is a command line shell that allows you to enter + simple commands to perform ZOOM operations. + + + bin/zoomtst1.exe, + bin/zoomtst2.exe, .. + + Several small applications that demonstrates the ZOOM API. + + + - - - + + + How to make apps using YAZ on WIN32 This section will go though the process of linking your WIN32 -- 1.7.10.4