Subject: Re: bug#29881: guix system reconfigure fails if config.scm contains LUKS mapped-devices

From: [email-masked] (Ludovic Courtès)
Date: Sat, 30 Dec 2017 01:19:43 +0100

Mark H Weaver <[email-masked]> skribis:

> [email-masked] (Ludovic Courtès) writes:
>
>> Diego Nicola Barbato <[email-masked]> skribis:
>>
>>> When running `guix system reconfigure /etc/config.scm' as root I get the
>>> following error:
>>>
>>> guix system: error: failed to load '/etc/config.scm':
>>> /etc/config.scm:24:9: /etc/config.scm:24:9: In procedure allocate-struct: Wrong type argument in position 2: 3
>>
>> I’m afraid you’ll have to “rm -rf ~/.cache/guile/ccache” (Guile’s
>> auto-compilation cache) to work around
>> e2721a05e7d778bdf845b7cb7a42fd9f76095b69.
>
> FYI, I also encountered the same issue recently, and indeed I needed to
> clear the auto-compilation cache for my system configuration file, for
> both my normal user and root.
>
> It makes me wonder if "guix system" should force a fresh compilation of
> that file by default.

It should, as it used to do, but in 2.2.3 I pushed a “fix” for
‘%fresh-auto-compile’ that turned out to be misguided: it would now
force a fresh-auto-compile of everything, including files for which we
have a .go not in ~/.cache but in some other $GUILE_LOAD_COMPILED_PATH
entry.

See
<https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=83d4c4d622b406ec0bc9d8139ec8182fa72b5720>.

I think we should revert it and publish 2.2.4 soon.

Thoughts?

Ludo’.