Chapter 2. Installation

Table of Contents

1. Installation on Unix (from Source)
1.1. Libxml2/libxslt
1.2. USEMARCON (optional)
1.3. YAZ/YAZ++
1.4. Boost
1.5. Metaproxy
2. Installation on Debian GNU/Linux
3. Installation on RPM based Linux Systems
4. Installation on Windows
4.1. Boost
4.2. Libxslt
4.3. YAZ
4.4. YAZ++
4.5. Metaproxy

Metaproxy depends on the following tools/libraries:

YAZ++

This is a C++ library based on YAZ.

Libxslt

This is an XSLT processor - based on Libxml2. Both Libxml2 and Libxslt must be installed with the development components (header files, etc.) as well as the run-time libraries.

Boost

The popular C++ library. Initial versions of Metaproxy was built with 1.32 but this is no longer supported. Metaproxy is known to work with Boost version 1.33 through 1.55.

In order to compile Metaproxy a modern C++ compiler is required. Boost, in particular, requires the C++ compiler to facilitate the newest features. Refer to Boost Compiler Status for more information.

We have successfully built Metaproxy using the compilers GCC and Microsoft Visual Studio.

As an option, Metaproxy may also be compiled with USEMARCON support which allows for MARC conversions for the record_transform(3mp) filter.

1. Installation on Unix (from Source)

Here is a quick step-by-step guide on how to compile all the tools that Metaproxy uses. Only few systems have none of the required tools binary packages. If, for example, Libxml2/libxslt are already installed as development packages use those (and omit compilation).

Note

USEMARCON is not available as a package at the moment, so Metaproxy must be built from source if that is to be used.

1.1. Libxml2/libxslt

Libxml2/libxslt:

     gunzip -c libxml2-version.tar.gz|tar xf -
     cd libxml2-version
     ./configure
     make
     su
     make install
    
     gunzip -c libxslt-version.tar.gz|tar xf -
     cd libxslt-version
     ./configure
     make
     su
     make install
    

1.2. USEMARCON (optional)

     gunzip -c usemarcon317.tar.gz|tar xf -
     cd usemarcon317
     ./configure
     make
     su
     make install
    

1.3. YAZ/YAZ++

     gunzip -c yaz-version.tar.gz|tar xf -
     cd yaz-version
     ./configure
     make
     su
     make install
    
     gunzip -c yazpp-version.tar.gz|tar xf -
     cd yazpp-version
     ./configure
     make
     su
     make install
    

1.4. Boost

Metaproxy needs components thread and test from Boost.

     gunzip -c boost-version.tar.gz|tar xf -
     cd boost-version
     ./configure --with-libraries=thread,test,regex --with-toolset=gcc
     make
     su
     make install
    

However, under the hood bjam is used. You can invoke that with

     ./bjam --toolset=gcc --with-thread --with-test --with-regex stage
    

Replace stage with clean / install to perform clean and install respectively.

Add --prefix=DIR to install Boost in other prefix than /usr/local.

1.5. Metaproxy

     gunzip -c metaproxy-version.tar.gz|tar xf -
     cd metaproxy-version
     ./configure
     make
     su
     make install
    

You may have to tell configure where Boost is installed by supplying options --with-boost and --with-boost-toolset. The former sets the PREFIX for Boost (same as --prefix for Boost above). The latter the compiler toolset (eg. gcc34).

Pass --help to configure to get a list of available options.