[Top][All Lists]

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

Re: Guix direct checkout hacking

From: Danny Milosavljevic
Subject: Re: Guix direct checkout hacking
Date: Sat, 16 Mar 2019 12:54:56 +0100


On Sat, 16 Mar 2019 12:24:27 +0100
Giovanni Biscuolo <address@hidden> wrote:

> I regurarly "git pull" in $GUIX_CHECKOUT and then "guix environment
> guix": is it sufficient and necessary to "/.bootstrap" and then
> "/.configure" every time I enter the environment in order to have a
> working build environment?

Not really.  Only if dependencies get added or removed, or some
variables in the Makefiles get added or removed.

Personally, I'm too lazy to bootstrap every time.  But I ./configure
pretty often ("./configure --localstatedir=/var").

> Do I really need to "make check" every time I "activate" the devel
> environment or after every "git pull" of my $GUIX_CHECKOUT?

Not really, but later on, it's nice to know whether your change broke
something or whether it was broken to begin with.  Personally, I don't
run "make check" until I need to.  I often need to backtrack then :)

> Do I neeed to regurarly "make clean-go" to get rid of compiled .go or I
> can ignore this step? If this step should be regurarly done: when?
> (this is not documented, just my curiosity)

I never do exactly this, but that's because clean-go regularily leaves
".go" files anyway.

Why this is necessary in the first place:

The problem is that there's some inline-tracking missing in the guile
handler for go files, so it can happen that one go file inlined something
that is already changed in the other go file (especially with macros).
The former won't be automatically recompiled and then you get an ABI
mismatch / funny behavior / crashes at runtime.

In the real world, I don't delete all ".go" file every time--it would
take way too long to recompile.

But if there are strange things happening later, I delete them and
run "make" in order to rebuild them.

> I start the build daemon in the environment:
>   sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild

I never do this since the build daemon almost never changes.  So I just
use the system build daemon.

> error: failed to run download program 
> '/home/giovanni/{git}/': 
> Permission denied

Hmm, what are the permissions of that file?
Did you generate it using the same user ? (via ./configure, I think).

Attachment: pgpdE5pX0rmCG.pgp
Description: OpenPGP digital signature

reply via email to

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