unofficial mirror of guix-science@gnu.org 
 help / color / mirror / Atom feed
From: "Ludovic Courtès" <ludovic.courtes@inria.fr>
To: "Sébastien Lerique" <sl@eauchat.org>
Cc: guix-science@gnu.org,  zimoun <zimon.toutoune@gmail.com>
Subject: Re: Introducing Guix to HPC at my institution
Date: Thu, 01 Apr 2021 10:35:32 +0200	[thread overview]
Message-ID: <87mtui1jxn.fsf@gnu.org> (raw)
In-Reply-To: <87ft0bvqv5.fsf@eauchat.org> ("Sébastien Lerique"'s message of "Wed, 31 Mar 2021 14:23:10 +0900")

Howdy!

Sébastien Lerique <sl@eauchat.org> skribis:

> Case 1: with substitutes, on a local (non-NFS) folder
> -----------------------------------------------------
>
>  $ guix archive --authorize <   bin/../share/guix/ci.guix.gnu.org.pub
>  $ guix-daemon --disable-chroot &
>  $ guix install hello
>  [... dowloading ...]
>  unexpected substituter message 'defining `GUIX_LOCPATH', along
>  these lines:
>
>       guix install glibc-utf8-locales
>       export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
>
>  See the "Application Setup" section in the manual, for more   info.
>  '
>
> I think this is https://issues.guix.gnu.org/45166.
>
> Using instead `guix pack -R -S /bin=bin -S /etc=etc -S /lib=lib guix
> bash glibc-utf8-locales`, and:
>
>  $ export GUIX_LOCPATH=$(pwd)/lib/locale
>  $ ls $GUIX_LOCPATH/
>  2.31
>
> seems to start working, but then `guix install hello` fails with the
> same error, and:
>
>  $ ls $GUIX_LOCPATH/
>  ls: cannot access '/tmp/sebastien-lerique/guix/lib/locale/': No
>  such file or directory
>
> Is it possible that glibc-utf8-locales gets garbage-collected?

Can you run guix-daemon like so?

  LC_ALL=en_US.utf8 guix-daemon --disable-chroot &

The “unexpected substitute message” thing is a bug: it turns out that
stderr of ‘guix substitute’ is consumed directly by the daemon at this
point, which it shouldn’t (similar to the issue fixed by
ee3226e9d54891c7e696912245e4904435be191c).

> Case 2: from source (no substitutes), on a local (non-NFS) folder
> -----------------------------------------------------------------
>
> No need for the locale fix here (another bug appears before that):
>
>  $ guix-daemon --disable-chroot &
>  # --no-offload works around the missing nscd problem; up to now
>      this
>  # doesn't seem necessary when using substitutes
>  $ guix install hello --no-offload
>  [... builds for a while ...]
>  build of
>  /gnu/store/pkn1w1q3xkn273kpmggc4dnq6n6hr9jy-bzip2-mesboot-1.0.8.drv 
>  failed
>
> The build log for bzip2-mesboot ends with:
>
>  tcc -ar cq libbz2.a blocksort.o huffman.o crctable.o randtable.o
>  compress.o decompress.o bzlib.o
>  ranlib libbz2.a
>  /gnu/store/prkqai3zwh3shlqpll6xyncmmqpj49dd-gash-boot-0.2.0/bin/sh:
>  ranlib: Command not found.
>  make: *** [libbz2.a] Error 127
>  command "make" "CC=tcc -I ." "AR=tcc -ar" "bzip2"
>  "PREFIX=/gnu/store/s94hyrv1vgllxir5niiyzfc9g80l5kcd-bzip2-mesboot-1.0.8" 
>  failed with status 2
>
> Is this new and should be reported as a bug? Should binutils-mesboot0
> be part of bzip2-mesboot's inputs? (I haven't learned about the
> boostrapping mechanism yet.)

The problem is that ‘--disable-chroot’ is a bit of the wild west: build
processes can access the whole file system and what you do as a user can
interfere with them.

It could be that the bzip2 build failure above is just that: the build
process picks something from /usr/lib or /usr/bin, and that breaks
everything.

I think ‘--disable-chroot’ is OK if you’re going to use substitutes for
almost everything.  Otherwise, it’s not good.  Your use case calls for
built-in support; that way, the daemon could take still advantage of
user namespaces to set up a chroot and all.

> Case 3: with substitutes, on an NFS share
> -----------------------------------------
>
> Again no need for the locale fix (another bug appears before that):
>
>  $ guix archive --authorize <   bin/../share/guix/ci.guix.gnu.org.pub
>  $ guix-daemon --disable-chroot &
>  $ guix install hello
>  [... downloading ...]
>  guix install: error: cannot unlink
>  `/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib': 
>  Directory not empty
>
> so checking:
>
>  $ ls -lA   /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib
>  total 3840
>  -r-xr-xr-x 1 sebastien-lerique froeseuni   64832 Jan  1  1970
>   .nfs000000000172caa5000054bd
>  [... more .nfs files ...]

Ah yes, that’s a known issue with NFS.  I’m not aware of any workaround.

Thanks,
Ludo’.


  reply	other threads:[~2021-04-01  8:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-15  3:12 Introducing Guix to HPC at my institution Sébastien Lerique
2021-03-15 13:47 ` zimoun
2021-03-16  1:54   ` Sébastien Lerique
2021-03-16  8:06     ` zimoun
2021-03-16  9:05     ` Ludovic Courtès
2021-03-18  2:26       ` Sébastien Lerique
2021-03-26  8:22         ` Sébastien Lerique
2021-03-29 12:03           ` Ludovic Courtès
2021-03-30  1:54             ` Sébastien Lerique
2021-03-30  7:21               ` Ludovic Courtès
2021-03-31  5:23                 ` Sébastien Lerique
2021-04-01  8:35                   ` Ludovic Courtès [this message]
2021-04-01 14:34                     ` Sébastien Lerique
2021-04-10 20:43                       ` Ludovic Courtès
2021-04-12  1:21                         ` Sébastien Lerique
2021-04-12 12:43                           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mtui1jxn.fsf@gnu.org \
    --to=ludovic.courtes@inria.fr \
    --cc=guix-science@gnu.org \
    --cc=sl@eauchat.org \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).