Installing software in your home directory

From Alliance Doc
Revision as of 15:49, 20 April 2017 by Stubbsda (talk | contribs)
Jump to navigation Jump to search
Other languages:

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.:

Question.png
[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.