previousTable of Contentsnext
 

Chapter 2: Installation

All conviction -- serious conviction -- will become a prejudice to posterior convictions. In the end, there's no need for too much convictions for life.
There's enough with three or four.
Not more.
—Joan Fuster

2.1 Prerequisites

OpenLC is programmed in Python. The main development platform is Linux, but OpenLC and the software it depends upon also should run on other Unices and Windows platforms. Provided your machine is properly configured with the necessary base software, there's no reason why it shouldn't run on your platform. If it doesn't, please send me a mail.

In the next sections, very detailed prerequisite installation instructions are described. Please, read and follow carefully the guidelines stated there before to continue.

2.1.1 Prerequisites for running OpenLC for UNIX flavor

Here you will find brief instructions for installing the required software in UNIX platforms. First are listed the requisites for OpenLC server, and then for the client.

To compile and install everything, you will need the GNU C compiler, GNU Make, autoconf, automake and other common utilities. You will find that there are also binaries packages ready for Linux or Solaris, but installing them in that form is not as fun as compiling the sources :-).

Although the development platform for OpenLC is Linux, we have been able to compile (and execute) successfully the prerequisites and OpenLC in Solaris 7 (UltraSparc). Other Unices should also compile and execute well, but your mileage may vary. Please, drop me an e-mail if you get into difficulties.

Please, unless you know what you are doing, install the packages preferably in sequential order. If you have installation problems with a specific software, refer to the original package documentation. Note also that, in general, version numbers are stated because they run well with OpenLC. You may use other versions and probably you can have success for running OpenLC, but in some cases don't. If you are experiencing problems, please, double-check the prerequisite versions, and try to stay in sync with them.

Mandatory prerequisites for the OpenLC server

  1. Python 2.1 or higher: It works with both Python 2.1.x and Python 2.2.x (highly recommended 2.1.3 or 2.2.1). Normally you can find binaries for your platform in http://www.python.org.
  2. Python XMLRPC 0.8.8.2 or higher: Get and unpack sources from http://sourceforge.net/projects/py-xmlrpc, then:
    		  cd py-xmlrpc-0.8.8.2
    		  python setup.py build
    		  (become root)
    		  python setup.py install
    		
  3. Numeric Python (NumPy) 21.0 or higher: Get and unpack sources from http://sourceforge.net/projects/numpy, then:
    cd Numeric-21.0
    python setup.py build
    (become root)
    python setup.py install
    
  4. NetCDF 3.5.0 library: Get and unpack sources from http://www.unidata.ucar.edu/packages/netcdf, then:
    ./configure
    make
    make test
    (become root)
    make install
    
  5. Scientific Python 2.3.6 or higher: Get and unpack sources from ftp://dirac.cnrs-orleans.fr/pub/ScientificPython/, then:
    cd ScientificPython-2.3.6
    python setup.py build
    (become root)
    python setup.py install
    
  6. Gnosis utils 1.0.2 or higher: Get and unpack sources from http://www.gnosis.cx/download/, then:
    cd Gnosis_Utils-1.0.2
    python setup_gnosis.py build
    (become root)
    python setup_gnosis.py install
    

Optional prerequisites for the OpenLC server

HDF5 is a general purpose library and file format for storing scientific data, and some of the most powerful data analysis packages (for example, R and octave) can read it directly. As the HDF5 FAQ says:
HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic objects, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs.

If you want to have the run data (raw and reduced) in HDF5 format in addition to NetCDF, you have to install a couple of packages more.

  1. HDF5 1.4.3 or higher: Get and unpack sources from ftp://hdf.ncsa.uiuc.edu/HDF5/, then:
    		  cd hdf5-1.4.3
    		  ./configure
    		  make
    		  (become root)
    		  make install
    		  # Make this library accessible. In linux this is normally 
    		  # acomplished by issuing an ldconfig command, but this is 
    		  # OS dependent.
    		  # Check documentation about shared libraries for
    		  # more information, such as the ld(1) and ld.so(8)
    		  # manual pages.
    		  ldconfig   # If Linux
    		
  2. HL-HDF 0.40 or higher: Get and unpack sources from ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/contrib/hl-hdf5/README.html, then:
    cd hlhdf-0.40
    ./configure
    make
    (become root)
    # The setup.py is in the debian directory, but is completely general
    # for any UNIX or Windows OS.
    python debian/setup.py install
    

Mandatory prerequisites for the OpenLC client

For running the client OLCCommander you will need Python 2.1 or higher, as well as the Python XMLRPC 0.8.8.2 or higher. Follow the installation instructions as in the server case.

2.1.2 Prerequisites for running OpenLC for Windows flavor

Although the development platform for OpenLC is Linux, OpenLC, both server and client, also run in Windows without modification because it's a pure Python application. However, there aren't Windows binary versions for all the prerequisites, so I will discuss only how to install prerequisites only for the client program. If you want to install the server, you must have a C compiler (preferably Visual C++ 6.0), GNU Make, autoconf and other common utilities. You may have a look at the excellent package MinGW (Minimalist GNU for Windows) for free and GNU compatible tools. Read the section  2.1.1 for detailed compilation and installation instructions.

Have in mind that, unless you know what you are doing, you should install the packages preferably in sequential order. If you have installation problems with a specific software, refer to the original package documentation.

Prerequisites for the OpenLC client

  1. Python 2.1 or higher: I highly recommended 2.1.3 or 2.2.1. You can find binaries for Windows in http://www.python.org.
  2. Python XMLRPC 0.8.8.2 or higher: Fetch and install binaries from http://sourceforge.net/projects/py-xmlrpc.
  3. Gnosis utils 1.0.2 or higher: There isn't a binary version. Get and unpack sources from http://www.gnosis.cx/download/, then:
    		  cd Gnosis_Utils-1.0.2
    		  python setup_gnosis.py build
    		  (become super-user, if needed)
    		  python setup_gnosis.py install
    		

2.2 Installing OpenLC

OpenLC is pure Python code, with no C extensions, so no C compiler is needed. To install it, get the package from http://openlc.sf.net

, unpack the sources, and proceed as follows:
	  cd OpenLC-0.6
	  # Edit OpenLC-config.xml and choose the rundata directory.
	  # Edit setup.py and select the directories for configuration
	  # files and executables.
	  python setup.py build
	  (become super-user)
	  python setup.py install
	

Once you have done that, you are ready to run OpenLC server (OLCServer command) and client (OLCCommander command). Of course, you can choose to run both on the same or different machines. See the next chapter to see some examples of use.


previousTable of Contentsnext