[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.)
Regards,
David Mathog
mathog at caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech
More information about the Beowulf
mailing list