[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: guix-based installation of pigx-rnaseq - works



On Tue, Feb 23, 2021 at 09:28:48PM +0100, Steffen Möller wrote:
> Hello,
> 
> sudo apt-get install guix
> guix install pigx-rnaseq

:)

> indeed installs the pigx-rnaseq library with its R dependencies. It
> installs it all in /gnu, which is somewhat inconvenient, as in "my root
> partition complained", and it takes painstakingly long, but it works. 
> 
> The system finds STAR and other executables in the regular system path,
> only pigx-rnaseq was installed:
> 
> $ guix package -l
> Generation 1    Feb 23 2021 18:27:42    (current)
>   pigx-rnaseq    0.0.10    out   
> /gnu/store/nlknrjmm2knbr8i5m5qj94788arfb14n-pigx-rnaseq-0.0.10
> 
> The full install "pigx" I have not tried, yet. Will do.
> 
> We keep mentioning conda also the time, while guix is somewhat left
> aside, but https://guix.gnu.org/packages/ is truly impressive. Somewhat
> annoying, if we ever decide to also reference guix packages in
> d/u/metadata, then there are only versioned web pages like
> https://guix.gnu.org/de/packages/bc-1.07.1/, so we would only have
> moving targets point to.
> 
> But otherwise, Debian's guix package has formidably done its job. It is
> about time we get the conda packages into a similar state, just maybe
> the / partition should be spared by default, but then again, it was only
> 6.5GB.
> 
> I had tried in vain to create a dockerfile with this setup which gets a
> permission error in the moment that the installation of the packages starts:
> 
> FROM debian:unstable
> ENV TERM=xterm
> RUN apt-get update -qq
> RUN apt-get install -y guix
> #RUN (/usr/bin/guix-daemon --build-users-group=_guixbuild & ) && guix
> install pigx-rnaseq
> #RUN (/usr/bin/guix-daemon & ) && guix install pigx-rnaseq # too big to fail
> RUN (/usr/bin/guix-daemon & ) && guix install vim # still takes long and
> fails

The guix-daemon needs full privileges by default, but it does not need
to run inside a container. Just build a docker or guix container and
you'll get a minimal dependency tree inside the container. I wrote
some stuff up here:

  https://github.com/pjotrp/guix-notes/blob/master/CONTAINERS.org

mostly because I don't trust my memory ;)

> Should this trigger any idea among those reading this - some RTFM plus a
> small pointer would be much appreciated.

Note that Guix is a rolling distribution. It can do that because
versions do not interfere with each other. You can have an unlimited
number of glibcs, pythons etc. 

The reason it installs software in /gnu/store is because of
reproducibility. All paths are hard coded in binaries and libs. There
is no search path to look up libs, for example. Install a package once
and you'll get identical paths between machines, containers etc. 

I love Debian, but Guix packages and containers are the cats whiskers!
It is brilliant to have them both. I have no need for conda.

Pj.


Reply to: