Using the Software Stack
Chinook already has builds of many third-party software packages (see below for a listing). There are often multiple builds of a particular software package - different versions, different compilers used to build the software, different compile-time flags, et cetera. To avoid conflicts between these many disparate package builds, Chinook employs an environment module system you can use to load and unload different combinations of software packages into your environment.
The environment modules found on Chinook (often referred to simply as "modules") are Tcl script files that are used to update shell environment variables such as
LD_LIBRARY_PATH. These variables allow your shell to discover the particular application or library as specified by the module. Some environment modules set additional variables (such as
PERL5LIB), while others simply load a suite of other modules.
list all available modules
list all available modules beginning with the string pkg
load a module named pkg
attempt to replace loaded module named old with one named new
unload a module named pkg
list all currently-loaded modules
unload all modules
summarize environment changes made by module named pkg(sometimes incomplete)
module availwill search for the provided string only at the beginning of a module's fully-qualified name, it can be difficult to use
module availto search for modules nested in any kind of hierarchy. This is the case on Chinook - modules are categorized, then named. Here are some examples:
To find modules for GCC using a pure
module availcommand, you would need to run
module avail compiler/GCC. This is difficult, because you must already know that the module is in the compiler category.
To make things more complicated,
module availis also case-sensitive. Running
module avail devel/cmakewill not find the module named
One workaround for these impediments is to combine
module availoutput with
grep's full-text case-insensitive string matching ability. The example below additionally uses Bash file descriptor redirection syntax to redirect stderr to stdout because
module availoutputs to stderr.
module avail 2>&1 | grep -i pkg
replacing pkg with the string you are searching for.
RCS is currently evaluating Lmod as a replacement for Chinook's current environment modules framework. Lmod has many desirable features, including but not limited to a more user-friendly
For more information on Chinook's module framework, please visit http://modules.sourceforge.net/index.html.