Hello, Danny Milosavljevic <dan...@scratchpost.org> 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’.