Total Pageviews

Sunday, January 25, 2015

Software Depot

http://modules.sourceforge.net

Prior to working here, if I installed some software built from source, and those binaries and libraries were located in a directory not in the user's path, I would have to change each user's path who wanted to use the software. Upon arriving at this job, I was exposed to 'Modules' for the first time. See a detailed description in the link above. Basically modules allows a user to change his or her PATH on the fly. Let's say the user need gcc-5.0.0, but the version of gcc in their path is 4.1.2. The way I have set up modules, the user executes:

module load gcc-5.0.0/gcc-5.0.0

Now if the user types:

which gccc

They get:

/software/depot/gcc-rhel6/bin/gcc

And their new PATH is:

/software/depot/gcc-rhel6/bin

And their LD_LIBRARY_PATH is:

/software/depot/gcc-rhel6/lib

/software/depot is an NFS mount from a Netapp's machine. I have built lots of software for RHEL5 and RHEL6 machines, both Intel and AMD and using the '--prefix' installed the software in this NFS mount. Depending of the machines a person is logged into, they see different modules. I have even installed a small number of packages that our CRAY users access. I simply mount the appropriate sub-drectory on the CRAY and create module files to point to it.