Step 9 of  11

Getting and Installing External Libraries

Click on to return to start of page

In order to simplify the process of acquiring the external libraries, which GLAST code needs, archives of each of these external libraries are kept. This ensures that the correct versions of the external libraries are being used. Below you find the list of available external libraries. The distributions are available from the SLAC ftp site.  The files are prepared for either Windows, Linux or Solaris. The naming convention for the external libraries includes version and system,

    glast_<library>_<version>_<operating_system>.tar.gz    (or .zip for windows). 

GLAST/CMT packages expect the external libraries to be in specific directories; see below where to place the external libraries and how packages interface with external libraries.

Which External Libraries to Download

How to Download the external libraries

How CMT recognizes the external libraries

Installing ROOT


Which External Libraries to Download 

CMT needs the path to the libraries and the include files. These are defined in interface packages, one per external library. The GLAST code uses the Gaudi Kernel libraries and the following external libraries: 

CLHEP, HTL, AIDA         (selected by CMT 'uses' in package GaudiSys)

XMLEXT, ROOT, Geant4  (selected by CMT 'uses' in GLAST code)

 More information is provided in  versions and URLs for external packages

To know, which external libraries are used by an application, check the requirements file, which defines the application. 

We are presently reviewing the GLAST release management to ensure that for a given GLAST release, all applications use the same external library versions. The strict adherence to this rule has not been followed for earlier releases. For earlier versions of applications see external libraries requirements for old packages before the PDR .

Other external libraries like C++ compilers and STL are normally already installed on your machine. For Linux so-called RPM packages are available from the CERN Redhat mirror    /afs/cern/cern.ch/project/linux/redhat/mirror . 

Related information: 

Latest GlastRelease: used versions of packages (not yet available)

    Latest nightly release: selected versions


How to Download the external libraries 

The files can be downloaded from the GLAST ftp site, either by directly accessing the ftp site as anonymous user or by  downloading via web (on Unix: press SHIFT and click on the file)

  1. Using command-line ftp (commands start with '>')

    > ftp   ftp-glast.slac.stanford.edu  
           use anonymous as your login name
           change to binary transfer mode
    > bin
    > cd   glast.u05/extlib
    > ls
    > get   glast_clhep_1.6.0.0_solaris.tar.gz
           or whichever external library and operating system you are looking for
    > quit

  2. Download via web from the ftp site

    ftp://ftp-glast.slac.stanford.edu/glast.u05/extlib

To install the external libraries, unzip the transferred file. A different procedure has to be used for the package ROOT, see Installing ROOT

After all directories are set up, the directory structure should be similar to this directory chart


How CMT recognizes the external libraries 

CMT needs to know the path to the external libraries. This is achieved in two steps:

In case that your installation does not have a common path to all external libraries, then individual paths can be defined in the requirements file of  the package EXTLIB and /or the interface packages. In this case you may have to update these packages each time you check them out. The package ROOT is often installed at a location, which is not under the control of the GLAST developer. For this reason a separate definition of the access path is already foreseen in EXTLIB. If the developer intends to use an external library with a version number different from the standard one, then the path has to be updated in the corresponding CMT interface package, for details see the CMT treatment of external libraries .


Installing ROOT 

Unzip the downloaded ROOT file;  for Windows use the Install Shield. The unzipped  ROOT directory has a more complicated directory structure than other external packages.  If you use ROOT also as an analysis tool, you need to set the environment variable  ROOTSYS equal to the path to the root executable and add it to your PATH environment variable.  For more information read the ROOT  INSTALL file or visit the ROOT home page .

Check the requirements files of the packages EXTLIB and ROOT and if necessary edit these requirements files.  Replace the definition of ROOT_DIR in EXTLIB, and replace the following macro definition in ROOT

set ROOT_PATH    "${ROOT_DIR}/v2.25.03/@sys/root" \
               VisualC      "${ROOT_DIR}/2.25.03" \
      VisualCStatic     "${ROOT_DIR}/2.25.03" 

such that it points to your  installation of the root library.  For instance if your root package is installed at C:\root then change the above to (assuming you work only on Windows)

set ROOT_PATH    "C:/root"

Note that the slash is forward, despite the fact that this is a Windows path. CMT will treat it correctly. Avoid using a ROOT version different from the one recommended for GLAST. You may succeed to make it work, but in case of problems do not expect help from the software group.


Contact the  List for software help  or als@slac.stanford.edu  in case of problems.

Last modified 2002-12-02

Back to Main Menu           Previous Step (Windows) (Unix)        Next Step (Windows)  (Unix)