[Bio-packaging] Using a shared Guix store (was RE: testing out guix)

Cook, Malcolm MEC at stowers.org
Sat Jul 11 00:54:39 UTC 2015

Ludovic, and Ricardo,

> Yes, one way to help would be by trying a simple setup using Guix as it
> currently exists, coupled with socat:
>   http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20381
> If you could test this and provide feedback about the other options discussed
> there, that would be great (please email
> 20381 at debbugs.gnu.org.)

Excellent.  That definitely looks testable by me, once I'm done with my basic site deployment.  I've been moving rather slowly but might be ready to contrast such approach with simply calling guix on guix-master over ssh.  I'll plan on it.  Maybe a week or two out.

Reading the thread, it sounds like Ricardo has today already had good success with socat.  Yay!

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?  

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?

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.

Honestly, much of my understanding of the above comes from reading the manual, archived IRC chats and mail threads, FOSDEM vids, and blog posts - which has been great.  But,  I've yet to succeed in my own site deploy, which will give me testbed to stretch my own understanding.  Today, I had the following failure....

Ricardo, et. al.,  would you mind sharing some details on your network sharing configuration as regards users/groups and privileges, for I seem to have painted myself into a corner with the following
	/gnu  is an NFS mount, owned by network user 'guix', group-owned by  guix-builder with mod of 1775 
	guix is being built from git configured with -- exec_prefix=/gnu --localstatedir=/gnu/var 

	`make check`  results are

Testsuite summary for GNU Guix 0.8.3
# TOTAL: 42
# PASS:  32
# SKIP:  0
# XFAIL: 0
# FAIL:  10
# XPASS: 0
# ERROR: 0

With details below....   I can submit all this to bug-guix at gnu.org, but I suspect (1) there is something fundamentally wrong with the way I am setting things up (2) your are reading this anyway ;)

Can you see any gotchas I haven't got yet?  Can you see the error in my ways and suggest a way through?

FWIW, I try to `make install` anyway, and, I pause.... I cannot complete a make install without "changing hats".  I find that it works to do the following

		sudo make install-data # as root on localhost
		sudo -u guix make install-exec ## since root on localhost is squashed on the NFS mount point, 

But I don't know if this is complete or not (the Makefile is complex!).

Anyway, "changing hats" feels very wrong, and I can feel more trouble coming when I want to run the daemon....

Thanks so much everyone, and, keep on guixing,


PS - in case it helps - below are test results and tarred logs are at http://research.stowers.org/mec/guixtests.tar

 I have not yet taught myself how to read them with understanding.... - (have a great weekend!)
PASS: tests/base32.scm
PASS: tests/base64.scm
FAIL: tests/cpio.scm
PASS: tests/hash.scm
PASS: tests/pk-crypto.scm
PASS: tests/pki.scm
PASS: tests/sets.scm
PASS: tests/substitute.scm
FAIL: tests/builders.scm
FAIL: tests/derivations.scm
PASS: tests/ui.scm
PASS: tests/records.scm
PASS: tests/utils.scm
PASS: tests/build-utils.scm
FAIL: tests/packages.scm
PASS: tests/snix.scm
PASS: tests/hackage.scm
PASS: tests/elpa.scm
FAIL: tests/store.scm
PASS: tests/monads.scm
PASS: tests/gexp.scm
FAIL: tests/nar.scm
FAIL: tests/union.scm
PASS: tests/profiles.scm
FAIL: tests/syscalls.scm
PASS: tests/gremlin.scm
PASS: tests/lint.scm
PASS: tests/publish.scm
PASS: tests/size.scm
PASS: tests/guix-build.sh
PASS: tests/guix-download.sh
PASS: tests/guix-hash.sh
PASS: tests/guix-package.sh
FAIL: tests/guix-package-net.sh
PASS: tests/guix-system.sh
PASS: tests/guix-archive.sh
PASS: tests/guix-authenticate.sh
FAIL: tests/guix-environment.sh
PASS: tests/guix-lint.sh
PASS: tests/guix-register.sh
PASS: tests/guix-gc.sh
PASS: tests/guix-daemon.sh

> So no ETA, but once we have feedback from you, Ricardo, and other
> interested parties, it will be easier to make a choice and implement it.
> :-)
> Thanks,
> Ludo’.

More information about the bio-packaging mailing list