User`s guide
Setting Up the User Environment [2]
2.2 Using Modules
The Cray XMT system uses modules in the user environment to support multiple
versions of software, such as compilers, and to create integrated software packages.
As new versions of the supported software and associated man pages become
available, they are added automatically to the Programming Environment, while
earlier versions are retained to support legacy applications. By specifying the module
to load, you can choose the default version of an application or another version.
The modules for the compilers and associated products are:
• mta-pe for the C and C++ compilers. This is the default environment.
Modules also provide a simple mechanism for updating certain environment
variables, such as PATH, MANPATH, and LD_LIBRARY_PATH. In general, you
should make use of the modules system rather than embedding specific directory
paths into your startup files, makefiles, and scripts.
The following subsections describe the information you need to manage your user
environment.
2.2.1 Modifying the PATH Variable
Do not reinitialize the system-defined PATH. The following example shows how to
modify it for a specific purpose (in this case to add $HOME/bin to the path).
If you are using a C shell, type:
% set path = ($path $HOME/bin)
If you are using bash, type:
$ export $PATH=$PATH:$HOME/bin
2.2.2 Software Locations
On a typical Linux system, compilers and other software packages are located in the
/bin or /usr/bin directories. However, on Cray XMT systems these files are in
versioned locations under the /opt directory.
Cray software is self-contained and is installed as follows:
• Base prefix: /opt/pkgname/pkgversion/, such as /opt/mta-pe/default
• Package environment variables: /opt/pkgname/pkgversion/var
• Package configurations: /opt/pkgname/pkgversion/etc
Note: To run a Programming Environment product, specify the command
name (and arguments) only; do not enter an explicit path to the Programming
Environment product. Likewise, job files and makefiles should not have explicit
paths to Programming Environment products embedded in them.
S–2479–20 17