Installing software in your home directory
Much academic software is freely available on the internet. You can email Compute Canada support staff, provide them with a URL, and ask them to install any such package so that you and other users will be able access it via a module load command. If the license terms and technical requirements are met they will make it available, typically in one or two business days.
You are permitted to install software in your own home space or project space if you wish. You might choose to do this, for example,
- if you plan to make your own modifications to the code, or
- if you wish to evaluate it on a shorter timescale than "one or two business days".
Read the installation instructions that accompany the software. These instructions often fall into one of the classes described below.
configure; make; make install
[name@server ~]$ ./configure
[name@server ~]$ make
[name@server ~]$ make install
is a very common instruction pattern. Variations include cmake .
replacing ./configure
, and sudo make install
replacing make install
.
Sometimes this will work exactly as prescribed, but sometimes it will fail at make install
because the package expects to be able to write to /usr/local
or some other shared area in the file system. It will always fail if sudo make install
is attempted, because sudo
is a request for "root" or administrator privileges. The usual solution is to supply a --prefix
flag at the configure
step, to direct the installation to go to the directory of your choice, e.g.:
[name@server ~]$ ./configure --prefix=$PROJECT/some-package && make && make install
If other errors arise, contact support. For more information see Make, Autotools, and CMake.
apt-get and yum
If the software includes instructions to run apt-get
or yum
, it is unlikely that you will be able to install it using those instructions. Look for instructions that say "to build from source", or contact support for assistance.
Python, R, and Perl packages
Python, R, and Perl are languages with large libraries of extension packages, and package managers that can easily install almost any desired extension in your home directory. See the page for each language to find out if the package you're looking for is already available on our systems. If it is not, you should also find detailed guidance there on using that language's package manager to install it for yourself.