Frequently Asked Questions - "Software"

Frequently Asked Questions – Software

Installation

You can list installed programs and versions with the command module avail and really all software packages with “module spider”.

The module command loads and unloads paths and environmental variables as well as it displays available software.

A detailed description is available here .

Our module system is built in form of a hierarchical tree with respect to compiler(s) and MPI version(s). Many (open source) software package thus don't appear in the first instance, and become available only after you load a (suitable) compiler (and a (suitable) MPI module, respectively.

In case you didn't load one or the other yet, many packages don't show up in the output of “module avail”.

If you seem to miss a required software, please try

module spider <mySW> oder
module spider | grep -i mySW oder
module --show-hidden avail <mySW>

before installing it yourself or opening a ticket.

Please send us an email . If the requested program is of interest to several users or groups, we will install it in our module tree to make it available for all.

Otherwise we will support you (to a certain extent) in attempting a local installation, eg. in your /home/ or into a (shared) project folder.

Installing yourself

Since Linux does not require administrative/elevated privileges for installing user software, you can always follow the software's documentation (README or INSTALL files) on how to install it in a user directory.

Licenses

No: you first have to check whether the software requires a license. In that case, you have to prove you have the rights to use (a sufficient amount of) it, for example if your institute/department contributes to the yearly costs of a TU Da (ie. campus) license, or has purchased its own (set of) licenses.

Please read also the comments to licenses in this list.

In general: not everything technically possible is also allowed legally.

It depends. In general, our modules for commercial software fetch their licenses from license servers of the TU Darmstadt. In most cases, these licenses are dedicated exclusively for members of TU Darmstadt contributing to the license costs.

Please send us an email to if you have license questions. We can support you in configuring your software to fetch license tokens from eg. your institute's license servers.

In general: not everything technically possible is also allowed legally.

Runtime Issues

Remove all unnecessary modules. A job script should always start with

module purge
module load <only modules really required for this job>

to ensure a clean environment:.

Remember: whenever you load modules while you are on a login node, any job submitted from this modified environment will inherit these modules' settings!
Therefore, it is strongly recommended to use the above purging/loading statement in all job scripts.

Next, scrutinize your program's runtime libraries (“shared objects”) with

ldd -v /path/to/binary

Your $LD_LIBRARY_PATH might contain an unwanted directory, causing your program to load wrong or outdated libraries, which in fact should rather be coming from the modules you have loaded.

Particularly, the infamous“Bus error” can be caused by non-matching arguments or return values between calling binary and called library, thus causing “unaligned” memory access and crashes.

Check input and parameter files for wrong DOS/Windows line end characters . The Linux version of a program might not be ablce to cope with Windows CR/LF as the same program's Windows version happily can.

A crashing program usually causes a memory dump of its process to be created (in Linux, a file called core.<PID> in the directory where the program was started).

Unfortunately, some user jobs repeatedly crashed in a loop, causing lots of coredumps being created on our cluster-wide GPFS filesystem . As this adversely affected its performance and availability, we had to switch off the creation of coredumps by default.

However, for you to debug your software, we didn't prohibit core dumps entirely, and thus writing them can be enabled again:

ulimit -Sc unlimited
<my crashing program call>
gdb /path/to/programBinary core.<PID>

If it is in fact the very same binary (and not only the same “program”), compare together

  • your job scripts
  • the modules you have loaded before submitting the job:
    module list
    (because these are usually inherited by the job!)
  • your respective shell environment:
    env | sort > myEnv
  • your respective $LD_LIBRARY_PATH setting and the libraries effectively loaded at runtime:
    ldd /path/to/same/binary

Yes, that's possible, by using the so-called “collection” feature of our module system LMod .

More details can be found in our Tips and Tricks section, and inside “man module”.

Machine Architecture

The Lichtenberg HPC runs only Linux, and will thus not run windows (or MacOS) executables natively.

Ask your scientific software vendor or provider for a native Linux version: if it is in fact a scientific application, there's a very good chance they have one…

Due to the unproportional administrative efforts (and the missing windows licenses), we are sorry to have to deny all requests like “virtual windows machines on the cluster” or to install WINE just like that.

Since the Lichtenberg HPC runs with the RedHat (compatible) linux distribution, the native application packaging format is RPM, not .deb.

Though there are ways to convert .deb packages to .rprm or even to install .deb on RPM-based distributions (see the “alien” command's information on the web), installing such “alien packages” can have adverse side effects and can cause trouble. Thus, such “foreigners” cannot be installed on the Lichtenberg nodes.

Check with the vendor/supplier to get their software in a form not requiring installation via the operating system's package manager (ie. as .zip or .tar file).

If the source code is available, try and compile the program yourself.

Miscellaneous

From time to time, we will revise and edit this FAQ.

Please send us your unanswered question via email to , and if question & answer are of general interest, we will amend this FAQ accordingly.