(Stripping the list of recipients.) "Cook, Malcolm" <m...@stowers.org> skribis:
> In that thread, you suggested "What about installing Guix in /gnu/bin (say) > and sharing it over NFS?". Is there a way to `./bootstrap ./configure ` > this? Something like -- exec_prefix=/gnu --localstatedir=/gnu/var? Yes, --exec-prefix=/gnu --localstatedir=/gnu/var (note “--exec-prefix” with a hyphen.) > Also, you discussed need for setting NIX_STATE_DIR. This should not be > needed if guix was already installed with configuration of > --localstatedir=/guix/var (with /guix being nfs mounted), right? Right. > Ricardo also wrote "For ‘guix package’ to work, > /gnu/var/guix/profiles/per-user must be shared read-write (over NFS) with > correct UID mapping." - I really don't understand this and tried to elicit > feedback in > http://lists.nongnu.org/archive/html/guix-devel/2015-07/msg00216.html - Can > anyone give me clarification on this. I though the guix daemon is going to > manage these profiles. ‘guix package’ makes remote procedure calls (RPCs) to the daemon and the daemon does most things on its behalf. However, there’s one thing that ‘guix package’ does directly by itself: updating the profile symlinks, ~/.guix-profile and its target, which is in $localstatedir. For that reason, ‘guix package’ must have write access to $localstatedir. Does that clarify things? > ============================================================================ > Testsuite summary for GNU Guix 0.8.3 > ============================================================================ > # TOTAL: 42 > # PASS: 32 > # SKIP: 0 > # XFAIL: 0 > # FAIL: 10 > # XPASS: 0 > # ERROR: 0 [...] > FAIL: tests/cpio.scm What does ‘cpio --version’ returns? Could you email me (privately) the file ‘t.cpio’ made with these commands: cd /path/to/guix ln -s chbouib /tmp/somelink (for i in / $PWD /tmp/somelink $PWD/guix.scm \ $PWD/guix/build/syscalls.scm $PWD/guix/packages.scm ; \ do echo $i ; done ) | \ cpio -o -O t.cpio -H newc > FAIL: tests/builders.scm > FAIL: tests/derivations.scm These two show errors like: --8<---------------cut here---------------start------------->8--- output path `/home/mec/project/sce/guix/test-tmp/store/2l1h7am3q3c6sd4z5425mp3kjady6nla-hello-2.8.tar.gz should be a non-executable regular file --8<---------------cut here---------------end--------------->8--- Which makes it sound like files are automatically made executable on this file system. What does ‘umask’ return? What about ‘mount | grep /home’? > FAIL: tests/packages.scm Ditto. > PASS: tests/snix.scm > PASS: tests/hackage.scm > PASS: tests/elpa.scm > FAIL: tests/store.scm This one shows this: --8<---------------cut here---------------start------------->8--- ;;; (c #<condition &nix-protocol-error [message: "path `/home/mec/project/sce/guix/test-tmp/stor?/vlryjv621i7xj4sr8ajzl9k9w5bmkv5c-text' is not in the Nix store" status: 1] 24a61e0>) tests/store.scm:560: FAIL import corrupt path ;;; (verify1 #t) ;;; (verify2 #f) ;;; (verify3 #t) tests/store.scm:620: FAIL verify-store + check-contents --8<---------------cut here---------------end--------------->8--- This particular test is not designed to work with long $top_builddir like this (the test corrupts an archive, but in this case the corruption occurs in the middle of the file name, which confuses the test logic.) I’ll see how to fix it. > FAIL: tests/nar.scm --8<---------------cut here---------------start------------->8--- tests/nar.scm:172: FAIL write-file puts file in C locale collation order --8<---------------cut here---------------end--------------->8--- > FAIL: tests/union.scm “Non-executable” error as before. > PASS: tests/profiles.scm > FAIL: tests/syscalls.scm Harmless clone/setns/pivot-root test failures probably due to the fact that the host kernel is too old. Can you confirm that this is fixed in ‘master’ (commit b62a3eb)? Simply run: make check TESTS=tests/syscalls.scm > FAIL: tests/guix-package-net.sh “Non-executable” error again. > FAIL: tests/guix-environment.sh Likewise. Thanks for your help! Ludo’.