Software Installation on the Scientific Computing (SciC) Linux Clusters

Request an installation through HPC Support

To request a software installation on SciC Linux Clusters, fill out this application install request form with details of the software package and version required and a web-link to the software home page.  Software installed centrally will be available to all users through the environment modules system. You can check the availability of modules by command `module avail xyz`, also please be aware we have quite modules in test status, you could add these modules by command `module use /apps/modulefiles/test`.

Maintain a software repository for your own group directory 

You can maintain a software repository under Lab/Group or the /apps directory. This is ideal if you frequently install or change software packages and need to maintain consistency for users within a lab group.  Email SciC Linux Clusters Support for details and see also the SciC Linux Clusters Storage Organization Best Practice FAQ.  Details for how to setup software within the environment modules system will be posted in a future FAQ

Install software in your home directory folder

For quick installations and software testing/proof of concept, software can be run from a user home folder.  The instructions for software installation on the internet typically assume administrator access to the computer and that software will be installed on the computer local hard drive.  On the SciC Linus Clusters, this is not the case. Software needs to be on a network server to be available to all compute nodes, and cluster users cannot install software on the local hard drives. 

Don't use the 'sudo' command or attempt to log in as 'root'. Instructions along these lines will need to be modified for the cluster environment. Other equal tools (such as pip, easy_install) are can not work either.  Modify the software installation instructions using these guidelines:


See the Python installation guidelines and add the '--user' option to install to your home directory

python install --user

You can also check the system variable PYTHONPATH if you want to install the package into a specific folder. 


We have quite a log versions of R installed on SciC Linux Clusters among them, "R-mkl/3.0.2" is the recommended version. It was compiled with Intel compiler with INTEL math kernel and it was shown to be fast and stable.  

The users may want to install some packages into R platform. Some of the packages are important generally and you are encouraged to send the package-installation inquiry to Scientific Computing. You can check the availability of libraries within R by command `library()`


If you may think you want to install your own package,  you might need to change the R_LIBS variable to do that.  For example, you can edit one .bash file( R-mkl-3.0.2-ownlib.bash) and add lines such as

export R_LIBS=/PHShome/ts631/test_lib:$R_LIBS

By default, if you had loaded intel_parallel_xe/xe and R-mkl/3.0.2, the system variable R_LIBS  would be 

[ts631@eris1n3 MACS]$ echo $R_LIBS

/apps/source/R-mkl/3.0.2/lib64/R/library/:/source/R-mkl/3.0.2/lib64/R/library/  (Do not worry the duplicated folder name here, it happened when you load the module multi times and it does not hurt.)

then you can run command `source R-mkl-3.0.2-ownlib.bash`, if everything works well,  you should be able to get R_LIBS

echo $R_LIBS


As you can find, your own folder was put in the first place of the variable and R will search/write your own first first when trying to install libraries. 


You can check the value R_LIBS by command ".libPaths();" within R. For example, it was shown to be

> .libPaths()

[1] "/PHShome/ts631/test_lib"

[2] "/apps/source/R-mkl/3.0.2/lib64/R/library"

[3] "/PHShome/ts631/R/x86_64-unknown-linux-gnu-library/3.0"

Definitely, you can also push folder name into .libPaths within R, which was only effective within the current R session. Also you can even adding the modification of libPaths in the .Rprofile file. But be aware that the modification of Rprofile will affect all version os R, which it is a unique file in your home folder. If you want to run multi-version of R, be careful when changing it. R has a very poor compatibility for versions. 


If an R modules library exists in your home folder, R will search this location for modules and install to this location. 

Use the install.packages() command within R to install.  If the local library does not exist, install.packages() will prompt to create it - respond 'y' to these prompts:

Warning in install.packages() :
'lib = "/usr/lib64/R/library"' is not writable
Would you like to use a personal library instead?  (y/n) y
Would you like to create a personal library
to install packages into?  (y/n) y

To query what additional USER libraries are in the current R search path, type this command in R:

[1] "~/R/x86_64-redhat-linux-gnu-library/2.15"

The path "~/R/x86_64-redhat-linux-gnu-library/2.15" is the local library in this case


We recommend perl 5.16.3. The system default library path is defined by system variable PERL5LIB. We had added quite folder into this variable by the module system. If you want to add library into your home folder, push your folder into the first place in variable PERL5LIB.


Ruby gems can be installed in a user home folder.  For these gems to be visible to your Ruby applications, the PATH and RUBYLIB environment variables also needs to be updated.  Full details can be found on the Ruby Gems FAQ page. As a brief example:

gem install --user-install ipaddress

If the installation is successful you may see a message with a warning about the PATH:

WARNING:  You don't have /PHShome/jj828/.gem/ruby/1.8/bin in your PATH, gem executables will not run.
Successfully installed ipaddress-0.8.0
1 gem installed

If this is the case, edit your .bashrc file (for example with the command "nano ~/.bashrc" ) and insert the lines below at the end of that file. Adjust the command below as needed to match the path given in the warning message.  Note that this will not take affect until after logging out, and there is potential for locally installed Gems to conflict with gems available through the SciC Linux Clusters environment modules.

export PATH="${PATH}:~/.gem/ruby/1.8/bin"
export RUBYLIB="${RUBYLIB}:$( ls -d ~/.gem/ruby/1.8/gems/*/lib | tr '\n' : )"

Go to KB0028011 in the IS Service Desk

Related articles