This is mainly the basic "configure, make, make install". However we do support all kinds of packaged software, so this is not always the case. For specific installation details please refer to the documentation prodvided by the software as well as the individual README.md files contained within the installed module, assuming that the softwere had been insatlled previously.
However you can look at the openbabel module and see the example README.md: Openbabel
- Make sure you have a checkout of the hpcc_modules repository
- Login as
pkgadmin
- Move to the
/opt/linux/centos/7.x/x86_64/src
directory - Download and extract the source files in
/opt/linux/centos/7.x/x86_64/src
- Create a directory named
/opt/linux/centos/7.x/x86_64/pkgs/[name of module]/[module version]
- If precompiled, move the binaries to the directory created in step 5
- Log out of
pkgadmin
- Move to your local hpcc_modules directory
- Copy any one of the existing directories into a new directory with the same name as the module being installed
- Go into the newly created directory
- Edit the
.version
file so that it contains the correct ModuleVersion number - Rename the
[module version]
file with the version number of the newly installed module - Edit the file from step 12 so that it contains the correct module name, version and paths
git add
both files,git commit
the changes thengit push
- After this you can test the installtion by trying
module load [name of module]
andmodule avail [name of module]
These are the modules that are currently available on the UCR HPC cluster
Module files now use environment variables to determine the path:
- HPCC_MODULES - Path dynamically built by /etc/profile.d/modules.sh at login to specify install path of modules.
- MODULESHOME - Path set by module system to specify home of module system.
- Symlinks can be used in order to catch alternative spellings of the same package
- Keep names of packages to all lowercase when possible
- Spaces are not allowed, underscores should be used in place of spaces for software module names
- Software that requires a common write location or uniqe config file should use environment variables to define these location[s]/config[s] which are set within the module