guix-devel
[Top][All Lists]
Advanced

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

Re: Outdated config.scm in development repo


From: Thompson, David
Subject: Re: Outdated config.scm in development repo
Date: Tue, 13 Oct 2015 14:33:01 -0400

On Tue, Oct 13, 2015 at 2:08 PM, Taylan Ulrich Bayırlı/Kammer
<address@hidden> wrote:
> From what I can tell this situation I landed in doesn't involve any bugs
> and won't happen to a normal user, but for the sake of documenting it
> for developers, here goes:
>
> I have $XDG_CONFIG_HOME/guix/latest point to a git repository so I can
> update it swiftly.
>
> In the repo, a ./guix/config.scm is generated from ./guix/config.scm.in
> sometimes, I guess on ./configure; I haven't tried to figure out exactly
> when but certainly not every time I run 'make'.
>
> That config.scm will contain absolute paths to gzip, bzip2, and some
> other things.  If you used a Guix environment to build, those will be
> /gnu/store/... paths.
>
> When you update things and garbage-collect, those store items might get
> removed, since $XDG_CONFIG_HOME/guix/latest/guix/config.scm is not a GC
> root (rightly so, as far as I understand).  And thus, guix commands will
> start failing, saying they can't find /gnu/store/.../bin/bzip2 or
> whatever.
>
> That sums up the problem description.
>
> Fixing it might be tricky if you need to use 'guix environment' to run
> ./configure or whatever to fix the config.scm, since you possibly first
> need to fix the issue to be able to use 'guix environment' (it will work
> only if no calls are made to the missing /gnu/store/... executables).
>
> Manually fixing the config.scm is easy, fortunately.  Just change the
> absolute /gnu/store/... paths which point at non-existing store items to
> point to existing store items.

Some day 'guix environment' will allow one to create a profile and
register it as a GC root and avoid this issue.

- Dave



reply via email to

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