Click on to return to start of page
In order to simplify the process of acquiring the external libraries that GLAST code needs we have archives of each of the required external libraries. By maintaining these distributions we hope to avoid having users search through twenty different websites to find the external libraries. It will also help to ensure that the correct versions of the external libraries are being used.
Below you will find a listing of the available external libraries and which
GLAST programs they are needed for. The libraries contain binaries for
either Windows or Linux. The distributions are available from the
SLAC ftp site. To download them, use the table to determine which external
libraries you need for a given program and then follow the instructions below.
The naming convention for the external libraries is simple; just
<library>_<version>_<operating_system>.tar.gz
(or .zip for windows).
Note that GLAST programs expect the external libraries to be in certain specific directories;
see below for how GLAST programs interface
with external libraries and where you should place the external libraries.
Which External Libraries to Download
How to Download the external libraries
How CMT recognizes these libraries
Which External Libraries to Download
The following table lists GLAST programs and explains which versions of which external libraries they require. n/a means that that library is not required. Under each external library is a link to the site that maintains the external libraries. This information is for the benefit of developers who may need to use newer versions of the external libraries; users should not need to concern themselves with this.
We do provide archives of external libraries bundled into a single convenient tar file. Available on both windows and linux - see the How to Download section for more details.
GLAST Checkout Package | CLHEP | Xerces | Root | Geant4 | AIDA | Gaudi | HTL |
[version numbers] | homepage | homepage | homepage | homepage | homepage | homepage | |
bfemApp [v1r10] | 1.6.0.0 | 1.5.2 | 3.00.06 | n/a | n/a | n/a | 1.3.0.1 |
gismosys [v5r4p1] | 1.6.0.0 | n/a | n/a | n/a | n/a | n/a | n/a |
GlastRelease [v0] | 1.8.0.0 | 1.5.2 | 3.03.09 | 4.1.p01 | 2.2.1 | v11r4 | 1.3.1.1 |
GlastRelease [v1] | 1.8.0.0 | 1.52 | 3.04.02 | 5.0 | 2.2.1 | v11r4p0 | 1.3.1.2 (linux) 1.3.1.1 (win) |
GlastRelease [v2] | 1.8.0.0 | 1.7.0 | 3.04.02 | 5.0 | 2.2.1 | v11r4p0 | 1.3.1.2 (linux) 1.3.1.1 (win) |
Gleam [v0] | 1.7.0.0 | 1.5.2 | 3.02.07 | 3.2 | 1.0 | n/a | 1.3.1.1 |
pdrApp [v7r2] | 1.6.0.0 | 1.5.2 | 3.00.06 | n/a | n/a | n/a | 1.3.0.1 |
ROOTWriter [v5r12] | 1.6.0.0 | n/a | 3.00.06 | n/a | n/a | n/a | n/a |
tkrApp [v2] | 1.7.0.0 | 1.5.2 | n/a | 3.2 | 1.0 | n/a | 1.3.1.1 |
The highlighted row denotes the current development version of GLAST Science Analysis Software.
If you are interested in external libraries requirements for old packages before the PDR, see this page.
How to Download the external libraries
You can download each library separately, or we also provide bundled tar files containing a set of external libraries that are used with a specific version of our software. The libraries are available via FTP from SLAC. You can access this FTP site using one of two mechanisms:
ftp ftp-glast.slac.stanford.edu
use anonymous as your login name
The extlib directory is arranged such that is contains separate directories for each type of library: AIDA, CLHEP, ROOT, etc. These directories contain specific zip files for windows and linux. There is also a directory called full_dist. The full_dist directory contains a single tar file containing all the external libraries that correspond to a specific release of GLAST software. Rather than downloading each library separately, you may choose to download this single file by doing the following, once you ftp to the site:
cd full_dist
binary
get full_dist_GlastRelease_v0_linux.tar
To actually install the external libraries you simply need to unzip the file(s) you obtained via FTP into your GLAST_EXT directory. In addition, if you wish to use ROOT as an analysis tool you need to set several environment variables, such as ROOTSYS. (For info on how to set these variables, read the INSTALL file that comes with ROOT or visit the ROOT webpage).
After you get all the directories set up the directory structure should look something like this.
How CMT recognizes the external libraries
CMT needs to know the path to the external libraries. This is achieved in two steps:
GlastRelease
Starting with GlastRelease, we have modified our mechanism to setup external libraries using CMT. There is a new container package called IExternal which contains all of the interface packages that define the locations of the external libraries on your local machine. If you download the external libraries and unzip them into your GLAST_EXT directory, the paths should be setup as expected by the interface packages. If you desire to modify the locations of some external libraries, you will have to be sure to update the path in the corresponding interface package's requirements file.
Before GlastRelease (before January, 2003)
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 .
It is realized that many people already possess a copy of ROOT on their computers. Nevertheless the default behavior for GLAST code is to look for the ROOT package in the same directory as the rest of the external libraries (i.e. the GLAST_EXT directory). Users may choose to install ROOT in the default GLAST ROOT directory, or to install ROOT in a directory of their own choosing. Avoid using a ROOT version different from the one recommended for GLAST. You may succeed to make it work, but doing so will be your own responsibility; it is not an option that the software group will support.
Installation in the default GLAST ROOT directory
In this case, ROOT should be installed in the GLAST_EXT directory. So, using the example above of external libraries installed in C:\extlib, CMT would expect to find the ROOT program installed at C:\extlib\ROOT\<version> (for instance <version> would be something like 2.25.03).
The expected directory structure is somewhat different on Unix. If you had GLAST_EXT set to /afs/slac/g/glast/extlib and were using Linux, then CMT would expect to find ROOT at /afs/slac/g/glast/extlib/ROOT/v2.25.03/i386_linux22/root/.
This structure should be kept in mind by users who need to install ROOT. If they install ROOT as above, then they will need to do no other work, other than setting GLAST_EXT.
Installation of ROOT in a user-defined directory
In some cases this default behavior will not work. For instance, some users may use central copies of ROOT and will not be able be install the external libraries in the same directory. Alternately some users may not wish to have ROOT installed in the same place as the external libraries. In these cases it is necessary for you to do some extra work to set up CMT to use ROOT. The easiest way to do this is to edit the requirements file for the ROOTpackage. You will want to replace the following macro definition in the ROOT requirements file:
set ROOT_PATH "${ROOT_DIR}/v2.25.03/@sys/root"
\
VisualC "${ROOT_DIR}/2.25.03" \
VisualCStatic "${ROOT_DIR}/2.25.03"
with something that points to where root is installed on your machine. For instance if your root package was installed at C:\root then you would change the above to
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.
Setting up ROOT to use as an analysis tool
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 .
Contact als@slac.stanford.edu in case of difficulties.
Last Modified March 12, 2003
Back to Main Menu Previous Step (Windows) (Unix) Next Step (Windows) (Unix)