guix-devel
[Top][All Lists]
Advanced

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

Re: Differences between container used by "guix build" and "guix environ


From: Ludovic Courtès
Subject: Re: Differences between container used by "guix build" and "guix environment -C -N"
Date: Mon, 19 Jun 2017 10:21:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Hello,

Danny Milosavljevic <address@hidden> skribis:

> I'm trying to track down the test_process_mask problem in Guix when trying to 
> test rustc.
>
> For that I did:
>
> (apply attached patch)
> $ guix build --keep-failed rustc # will fail
> $ cd /tmp/guix-build-rustc-1.16.0.drv-0
> $ guix environment -C -N rustc
> $ bash
> $ source environment-variables
> $ cd rustc-1.16.0-src
> $ ./x86_64-unknown-linux-gnu/stage2/test/stdtest-x86_64-unknown-linux-gnu 
> 2>&1 |grep test_process_mask
>
> will not fail.
>
> Why does it fail in "guix build", then?

What does the test do?

I tried to document the differences between the container the daemon
creates and the one you get with “guix environment -C” here:

  
https://www.gnu.org/software/guix/manual/html_node/Debugging-Build-Failures.html

Essentially it boils down to /bin/sh available in one case and not in
the other, and UID being zero in one case and something else in the
other.  If you add “-N”, then of course you have networking, which is
not available in the guix-daemon container.

In the end, if you want to be sure what the differences are, you can
compare:

  https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc#n2062
  and
  
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/linux-container.scm#n209

Hopefully with reepca’s work we can eventually have a single
implementation.  :-)

HTH!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]