Really sounds like you should be using environment modules. What I’d recommend 
to anyone starting out today would be Lmod: 
https://lmod.readthedocs.io/en/latest/

Most of the software building/installation packages interface with it.

Generally the software installs are done into a place that’s unique for each 
package and version, and maybe even for what compiler it was built with (see 
hierarchical).

--
____
|| \\UTGERS,     |---------------------------*O*---------------------------
||_// the State  |         Ryan Novosielski - novos...@rutgers.edu
|| \\ University | Sr. Technologist - 973/972.0922 (2x0922) ~*~ RBHS Campus
||  \\    of NJ  | Office of Advanced Research Computing - MSB C630, Newark
     `'

> On Aug 20, 2019, at 1:11 PM, David Mathog <mat...@caltech.edu> wrote:
> 
> On a system I am setting up there are a very large number of different 
> software packages available.  The sources live in /usr/local/src and a small 
> number of the most commonly used ones are installed in /usr/local/bin, 
> /usr/local/lib and so forth.  The issue is that any of the target end users 
> will only want a couple of these.  If they were all fully installed into 
> /usr/local there would be some name conflicts.  They may also be bringing 
> some of their own versions of these, and while $PATH order can help there, it 
> would be best to avoid those possible conflicts too.  Users don't have priv's 
> to modify /usr/local, so they cannot install/uninstall there themselves.
> 
> So I'm looking for something like
> 
>  setup software_name install
>  setup software_name remove
> 
> which would install/uninstall the packages (perhaps by symlinks) from
> 
>  /usr/local/src/software_name
> 
> under the user's home directory.  The goal is that the setup scripts NOT be 
> constructed by hand.  It would have a
> 
>  setup software_name install
> 
> which would emulate a:
> 
>  make install
> 
> and automatically translate it into the appropriate setup commands.  Some of 
> these packages have hundreds of programs, so anything manual is going to be 
> very
> painful.
> 
> Anybody seen a piece of software like this?
> 
> I don't expect this to work in all cases.  Some of these packages hard code 
> paths into the binaries and/or scripts.  The only hope for them is for the 
> user to do some variant of:
> 
>    cd $HOMEDIR
>    (cd /usr/local/src; tar -cf - software_name) | tar -xf -
>    cd software_name
>    make clean  #pray that it gets everything!!!
>    ./configure --prefix=$HOMEDIR
>    make
>    make install
> 
> There is a file which documents how to build each package, although it is 
> nowhere near complete at this time.
> 
> Docker is already available if the user wants to go that route, which avoids 
> this whole issue, but at the cost of moving big images around.
> 
> Thanks,
> 
> 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

_______________________________________________
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