Installing Software
Overview
While users cannot add or update system software or libraries using tools that require root privileges such as yum, many software packages can be installed locally without needing to be a superuser. Frequently linux packages make use of the "configure, make, make install" method and an example of how to do this is shown under Example Installation below.
Contrib Installations
One option to build your own software on HPC is to use the "contrib" environment. This is essentially a way to build your own module that you maintain and can share with other users. To create a contrib space, send a request to HPC Consult who will create a contrib space for your group. To see and use contrib software, use:
module load contrib module load group_name/software_name
It should be noted that to see, access, and build software, you will need to be on one of the cluster's compute nodes. These can be accessed using the command interactive. More details can be found in our SLURM documentation.
When installing software, users are invited to use the compilers and libraries available through the module system (see previous section of this guide), but that is not necessary. If a software package you wish to install requires a specific version of the MPICH2 libraries, FFTW libraries, or even GCC compilers, you can install those packages for yourself.
Example Installation
Software is not available on the login nodes. To install custom software, log into an interactive session.
For a typical Linux installation, the default settings may attempt to install files in system directories outside your directories. This is not permitted, so the installation process (specifically, the "configure" step) needs to be changed so that files are installed in a specified location. There is frequently a --prefix=/path/to/software option.