Subject: bug#47115: Failure building grub-img.png when reconfiguring

From: Mark H Weaver <[email-masked]>
Date: Sun, 14 Mar 2021 20:11:48 -0400

Hi Jack,

Jack Hill <[email-masked]> writes:

> On Sun, 14 Mar 2021, Mark H Weaver wrote:
>
>> (1) You must *delete* the "older" system generations and user profiles
>>    e.g. by running "guix system delete-generations" and "guix package
>>    --delete-generations", or else "guix gc" won't clear them from your
>>    store.  It is not enough to merely switch to an older system
>>    generation and profiles.
>>
>> (2) You'll also need to actually reboot into the older system
>>    generation, because /run/booted-system will continue to protect
>>    (from GC) the system that you last booted into, even after you
>>    switch systems.
>>
>> Did you do those things before running "guix gc"?
>
> Oops, I left out those details. Yes, I did both those things.

It occurs to me that we missed something: the profiles in
~/.config/guix/current that are managed by "guix pull".  It might be
that code within Guix itself was miscompiled (e.g. gnu/build/svg.scm),
or else that a profile in ~/.config/guix/current is still holding a
reference to something else that was miscompiled, (e.g. guile-cairo).

I suggest "guix pull --commit=453e101fc3f7dac9aabcd6122cf05fb7925103c7",
and then "guix package -p ~/.config/guix/current --delete-generations"
to delete any generations of Guix at commits that came after the Cairo
graft (use "guix pull --list-generations" to list them).  Do this for
all user accounts (including root) that have a ~/.config/guix/current
directory.  Then, try "guix gc" again.

     Thanks,
       Mark