From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Differences between container used by "guix build" and "guix environment -C -N" Date: Mon, 19 Jun 2017 10:21:33 +0200 Message-ID: <87k2481j76.fsf@gnu.org> References: <20170618144350.67710ce2@scratchpost.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36546) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dMrwM-0000WM-2C for guix-devel@gnu.org; Mon, 19 Jun 2017 04:21:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dMrwH-0003Qx-C9 for guix-devel@gnu.org; Mon, 19 Jun 2017 04:21:42 -0400 In-Reply-To: <20170618144350.67710ce2@scratchpost.org> (Danny Milosavljevic's message of "Sun, 18 Jun 2017 14:43:50 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Danny Milosavljevic Cc: guix-devel@gnu.org Hello, Danny Milosavljevic skribis: > I'm trying to track down the test_process_mask problem in Guix when tryin= g 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 =E2=80=9Cguix environment -C=E2=80=9D here: https://www.gnu.org/software/guix/manual/html_node/Debugging-Build-Failur= es.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 =E2=80=9C-N=E2=80=9D, 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#n20= 62 and https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/linux-container= .scm#n209 Hopefully with reepca=E2=80=99s work we can eventually have a single implementation. :-) HTH! Ludo=E2=80=99.