To use most packages on the SCC you will have to use the `modules' command. The command module load some-package will set your environment variables (PATH, LD_LIBRARY_PATH, etc) to include the default version of that package. module load some-package/specific-version will load a specific version of that package. This makes it very easy for different users to use different versions of software.

MODULE/APPLICATION REQUEST FORM: https://edc.camhx.ca/redcap/surveys/?s=H3MW3WR4JPMJAC3J


A list available module scan be seen on the system by typing

[sccuser@dev01 ~]# module avail
To load a module (for example, R for statistical computing)
[sccuser@dev01 ~]# module load R/2.13.2
To list the modules currently loaded
[sccuser@dev01 ~]# module list
To unload a module
[sccuser@dev01 ~]# module unload R/2.13.2
To unload all modules
[sccuser@dev01 ~]# module purge

These commands can go in your .bashrc files and/or in your submission scripts to make sure you are using the correct packages.

Note that a module load command only sets the environment variables in your current shell (and any subprocesses that the shell launches). It does not effect other shell environments; in particular, a queued job that is running is uneffected by you interactively loading a module, and conversely you loading a module at the prompt and then submitting a job does not ensure that the module is loaded when the job runs.

If you always require the same modules, it is easiest to load those modules in your .bashrc and then they will always be present in your environment; if you routinely have to flip back and forth between modules, it is easiest to have almost no modules loaded in your .bashrc and simply load them as you need them (and have the required module load commands in your job submission scripts).