[Beowulf] software for activating one of many programs but not the others?

David Mathog mathog at caltech.edu
Tue Aug 20 11:43:54 PDT 2019

On 2019-08-20 10:40, Alex Chekholko wrote:
> I'm personally a fan of APT, so your users could just do "apt install
> software_name".
> Other examples include RPM or EasyBuild+Lmod or less common tools like
> Singularity or Snap/Snappy or Flatpak.

Those are, for lack of a better word, "absolute" package installers.  
They place all the files somewhere on the disk, like /usr/bin, and that 
is the location from which it is run. If 100 packages are installed they 
will dump who knows how many binaries into /usr/bin or /usr/local/bin.  
Everybody on the system sees them in the same place.

Scott Miller's suggestion for "rez" is more what I am after, it is a 
sort of "runtime" package installer.  It does install the packages on 
disk somewhere, but they are not on anybody's path, and that isn't where 
the programs run from.  Users activate the package with "rez" in a shell 
or interactively so they only see the packages, or version of a 
packages, which they want to run.

One of the programs in question is called "jellyfish" and it has version 
1 and version 2 variants which are not compatible, but both binaries are 
just named "jellyfish". rez appears to solve this with the rezenv 
command, which if I am reading it correctly, allows not just the package 
but also the version to be selected.

Now I have to figure out how to get rez to work, especially with those 
packages which hardcode the paths to their data or other programs.  
(Consider Jellyfish again - many programs use it, a lot of them ship 
with their own copies, and they expect to find the one they want in 
their own specified directory.)


David Mathog
mathog at caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech

More information about the Beowulf mailing list