Get started
The software pool is ready to be used under a version control system called environment modules. It is made for a user friendly activation and deactivation of software and allows to have several versions of the same software package installed in parallel at non-default places. "loading a module" can be thought as synonymous for "making software accessable". The most important commands to know are:
module avail module help <package>/<version> module load <package>/<version>
module unload <package>/<version>
Loading a module manipulates the shell environment to make software visible for shell commands. Note, these changes of environmental variables are fully reversible and are taken back, if a module is unloaded. Loading a module may prepend the path to the binaries of a software package to environment variable PATH. This makes executables of software packages visible for the shell. For example, if you want to work with gcc, version 9,, load the appropriate module.
module load gcc/9.3.0 gcc --version
Note, the system compiler gcc is invisible to your shell as long as the module gcc is loaded, but becomes available again, if the module gcc is unloaded.
To learn more, please read the Modules home page . There are also man-pages for module and modulefile.
A list of all available modules sorted into CATEGORIES can be generated with the command module avail and a list of loaded modules is shown with the command module list. When you get a HLRN account, your environment is provided by the system profile and should be set up correctly to use modules. If you change shell or modify your environment in such a way to make modules fail, contact the your HLRN support consultant for help.
Module commands
Module commands can be issued
- on the command line. This modifies the current shell environment, i.e., make selected binaries visible and defines environment variables to support compiling and linking. These modification are reversible and taken back when unloading a module.
- in batch scripts. This can be used to prepare the environment for jobs at HLRN.
It is also possible to put module commands in the .bashrc. However, this may result in various conflicts and errors. So just: don't!
Loading a module manipulates the shell environment to make software visible for shell commands. Note, these changes of environmental variables are fully reversible and are taken back, if a module is unloaded.
The modified environmental variables can be used by compilers, linkers, make, cmake or private software installation tools, to recognise details of installed libraries and link them accordingly. Typical examples are PATH, LD_RUNPATH, LD_LIBRARY_PATH or PKG_CONFIG_PATH.
To see, how a package is installed and which environmental variables are delivered, use
module show <package>/<version>
To learn more, please read the Modules home page .