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
mat...@caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit 
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf

Reply via email to