ESR VO Software

 

What software is available on EGEE resources, and how to use it

Introduction

The usual software environment on EGEE worker nodes is not very rich of software or scientific applications. One can expect to find the usual linux bunch of interpreted languages (shells, perl, python, tcl, ...) in an older version than fresh releases GNU compilers in major version 3 (gcc, g++) with the notable exception of g77 or gfortran, and a full java 1.5 SDK (currently updating to sdk1.6). I might forget some of them but that's roughly all. For instance, NETcdf and HDF libraries are usually absent and blas and lapack sometimes as well.

Jobs have the opportunity to download and even to compile some software that will be used for the job itself. In order to save bandwidth and CPU cycles, a way for VOs to once for all download, compile and make it available to users.

The VO software

Concepts

VOs have the opportunity to deploy softwares in the so called VO software area. It resides on each site on a shared filesystem accessible to all Worker Nodes, at a location contained in the VO_myvo_SW_DIR environment variable.

In these directories, the VO Software Managers can install software, (still using regular jobs), and as long as site configuration allows it. Except for some licensed software, the soft installed by one VO is also available to others, that is users are not restricted to use only software installed by their own VO...

In order to advertise that some soft has been installed at some site, the Software Managers also have the possibility to publish tags in the Glue Schema, the backbone of the Grid's Information System. They can be listed by users and used to select sites to which direct jobs.

 

How to use this software

These tags have a mandatory VO-voname- prefix, usually followed by the software name and version, like VO-esr-octave-3.0.0

To list the software installed by VO esr type lcg-infosites --vo esr tag on some UI. To see the full list of tags on sites where your VO can run jobs, use this command: lcg-info --vo myvo --list-ce --attrs Tag

Tags can be used in order to direct jobs that needs some software only to sites where Software Managers already deployed it. It is done through the Requirements clause of the Job Description. See gLite User Guide example 6.2.0.2.

Then, you need to know where the software is precisely installed under  VO_myvo_SW_DIR. There also may be some customization to the environment (probably LD_LIBRARY_PATH) to use them. The next coming section lists the tags published by VO ESR as well as precise software locations and required environment updates.

 

ESR tags notes

It is usually necessary to add $VO_ESR_SW_DIR/lib to envirinment variable LD_LIBRARY_PATH. If the host OS is 64 bits architecture (ie $(uname -m) = x86_64) also add $VO_ESR_SW_DIR/lib64.

Better prefix the call of any command by its full path (e.g. $VO_ESR_SW_DIR/bin/rdseed)than by prepending $VO_ESR_SW_DIR to PATH. Additionnal recommandations are provided where appropriate.

induced software

not all dependencies are "tagged"; here's a more detailed list, probably not extensive.
Sometimes found in the WN OS installation (/usr/lib or /usr/lib64) and then used by VO installation, othewise installed in ($VO_ESR_SW_DIR/lib). This also means that you can expect a minimum release version equals to the one currently used with Scientific Linux 4.

  • blas and lapack are prerequisites any version of octave.
  • hdf 5netcdf 3 and libfftw3 are installed where octave-3.O.O is advertised.

 

full tag list

  • VO-esr-gcc4: gcc, g++, gfortran (suitable for F9X and F77) verion 4.2.0
    • installed under $VO_ESR_SW_DIR/gcc4, i.e. compilers located at $VO_ESR_SW_DIR/gcc4/bin/gcc, $VO_ESR_SW_DIR/gcc4/bin/gfortran, $VO_ESR_SW_DIR/gcc4/bin/g++
    • add $VO_ESR_SW_DIR/gcc4/lib to LD_LIBRARY_PATH to use the compilers, as well as produced software.
    • If the host OS is 64 bits architecture (ie $(uname -m) = x86_64) also add $VO_ESR_SW_DIR/gcc4/lib64
  • VO-esr-octave: octave 2.1.53, without any extensions.
    • path: $VO_ESR_SW_DIR/bin/octave
    • add $VO_ESR_SW_DIR/lib to LD_LIBRARY_PATH to use
    • compiled with VO installed gcc4, see recommandation about env
  • VO-esr-octave-3.0.0 octave 3.0.0 with hdf extensions, netcdf support provided by module octcdf. Installation of other modules from octave forge possible.
    • path: $VO_ESR_SW_DIR/bin/octave-3.0.0
    • compiled with VO installed gcc4, see recommandation about env
    • also add $VO_ESR_SW_DIR/lib to LD_LIBRARY_PATH
  • VO-esr-elmer Full elmer 5.3.2 libraries installed in $VO_ESR_SW_DIR/elmer-5.3.2
    • compiled with VO installed gcc4, see recommandation about env.
    • source $VO_ESR_SW_DIR/elmer-5.3.2/setup.sh before use (will not set gcc4 env, set gcc4 environment before sourcing setup.sh).
    • Contact CSC support if additionnal details needed.
  • VO-esr-geoscope statically compiled sofware requirering no addition to LD_LIBRARY_PATH
    • SAC2000 under $VO_ESR_SW_DIR/bin/sac2000
      set env. var. SACAUX to $VO_ESR_SW_DIR/share/sac2000
    • rdseed version 2.7 under $VO_ESR_SW_DIR/bin/rdseed
      version 2.6: $VO_ESR_SW_DIR/bin/rdseed2.6
  • VO-esr-metadata-1.2 OGSA-DAI 2 client java libraries and wrappers
    • jar (java 1.4) files in $VO_ESR_SW_DIR/ogsadai/lib. If not using ESR wrappers, do:

for i in 'ls $VO_ESR_SW_DIR/ogsadai/lib/*.jar'; do    CLASSPATH=$CLASSPATH:$i done export CLASSPATH="$CLASSPATH:."

  •  
    • java required options options are:

-Xmx128m -Xbootclasspath/p:$VO_ESR_SW_DIR/ogsadai/lib/xalan.jar:$VO_ESR_SW_DIR/ogsadai/lib/xercesImpl.jar:$VO_ESR_SW_DIR/ogsadai/lib/xml-apis.jar  -DX509_USER_PROXY=$X509_USER_PROXY

128M is minimum required memory

  •  
    • ESR CLI wrappers (automatically set appropriate environment) in $VO_ESR_SW_DIR/ogsadai/bin
  • VO-esr-IDL-5.6 RSI IDL(tm) 5.6. Client license required.
    • software under $VO_ESR_SW_DIR/bin/idl
    • set IDL_DIR to $VO_ESR_SW_DIR/rsi/idl_5.6, and LM_LICENSE_FILE pointing to your license file

To be installed soon:

  • grelc clients
  • gdl (GNU idl interpreter)