Unsupported Software Repositories
Unsupported Software Directory
The following directory on the Pacman and Fish systems is intended as a place for users to build third-party software packages and provide them for others to use:
The purpose of this directory is to share your efforts with others. Packages built for personal use only should be installed in your $HOME directory. To request a subdirectory for your project, please contact the ARSC Help Desk with the following information:
- The name of your requested subdirectory, which can be your project's name (e.g., UAFCLMIT) or the type of software you intend to install in the directory (e.g., "ClimateModels").
- A general description of what you intend to install.
- a rough estimate of the amount of storage you will need (e.g., 100 MB).
- The member of your group who will maintain this directory.
- Whether this maintainer would like their e-mail address listed for other users to communicate with them.
An entry for your software directory will be placed in the /usr/local/unsupported/INDEX file. Entries take the following form:
Commercial & Export Controlled Software Policies
Please do not install any commercial or export controlled software in the /usr/local/unsupported directory without explicit approval from the ARSC Help Desk.
File Permission Policies
You have the option of sharing the packages you install with either:
- the other members of your project
- all other users on the system
Access is controlled via Linux groups. For example:
The following command will grant read/execute access to members of your group:
The following command will grant read/execute access to all users on the system:
While group-write access is allowed for these directories, please remember that world-write access is never permitted. For more information, please refer to the "Non-Home Directory/File Permissions" policies described on the following web page:
Only the files belonging to a package's installation should be included in the /usr/local/unsupported directory. Input/output files, PBS scripts, etc., should be excluded from the installation directory unless they came with the package itself.
Due to the way the /usr/local/unsupported directory is configured, files installed in this directory will count toward your $HOME file system quota. If necessary, please send a request for an increased $HOME quota to the ARSC Help Desk.
Daily backups are performed on the /usr/local/unsupported directory.
Create a README File
If you plan to share your package installations with all other users on the system, we recommend that you create a README file in your group's root directory. For example:
In this file, you may choose to include descriptions of each package, how they were built, and contact information.
Library Naming Scheme Recommendation
If you are building a library package from source, we recommend that you add a suffix to your installation directory indicating which compiler suite was used to build the library. This will help other users determine whether the installation is compatible with the compiler they are using.
The following compiler suite suffix conventions are recommended:
For example, the directory structure for FFTW 3.2.2, built with the Portland Group compilers, might look like this:
Setting Up Module Files
If you would like your package installations to be widely used, you may want to create a module to set up the proper environment to run the package. Please refer to the files in the following directory as examples of how to create a module:
To provide a module for your package, put the module file in a "modulefiles" subdirectory. For example:
Then, communicate with the ARSC Help Desk, describing the location of this module for it to be made available to all other users of the system via the "module" command.
More information on how to create module files is available via the "man modulefile" page.