Subject: Re: bug#42161: Confusing '' error message

From: Ludovic Courtès <[email-masked]>
Date: Wed, 15 Jul 2020 01:57:13 +0200

Hi,

Denis 'GNUtoo' Carikli <[email-masked]> skribis:

> And again I've the same error:
>> guix system  --on-error=debug -v3 --no-bootloader init system.scm
>> /mnt/ guile: warning: failed to install locale
>> Backtrace:
>>            1 (primitive-load "/root/.config/guix/current/bin/guix")
>> In guix/ui.scm:
>>   1949:12  0 (run-guix-command _ . _)
>> 
>> guix/ui.scm:1949:12: In procedure run-guix-command:
>> In procedure struct-vtable: Wrong type argument in position 1
>> (expecting struct): #f
>
> Is that part of my system.scm really correct:
>> (file-systems %base-file-systems)
>
> I hope that I'm not polluting bugreports for issues that I'm responsible
> of, but I don't have enough knowledge to know that in advance, and I
> was advised to bugreport on #guix IRC channel.

Sorry for taking so long to get back to you.  You were right: the root
cause here is that the ‘file-systems’ field does not specify a root file
system.

Could you add one and let me know how it goes?

I’ve done two things to improve the situation:

  1. Commit a168c3e4f8d580f70e1c26bcdfc5b8378b2fa42d fixes a
     longstanding issues where we’d get useless backtraces like the one
     above in such circumstances.

  2. Commit d7e9e0bbc9aadec3e1830767a8771bfbe9c43155 changes ‘guix
     system’ so that a “missing root file system” error message is
     printed in this case.

Thanks,
Ludo’.