Subject: Re: bug#45166: Wrong locale settings for guix-daemon causes confusing error

From: Ludovic Courtès <[email-masked]>
Date: Mon, 14 Dec 2020 23:27:35 +0100

Hi,

Marius Bakke <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> skriver:
>
>> Hi,
>>
>> Marius Bakke <[email-masked]> skribis:
>>
>>> User sss2 reported on #guix[0] that running guix-daemon with an invalid
>>> locale causes the following error:
>>>
>>> # guix pull
>>> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>>> Building from this channel:
>>>   guix      https://git.savannah.gnu.org/git/guix.git   77667e2
>>> Computing Guix derivation for 'x86_64-linux'... |
>>> guix pull: error: got unexpected path `hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and' from substituter
>>
>> How did they run the daemon?  The systemd unit file we provide normally
>> makes sure it runs with the right GUIX_LOCPATH and with a valid locale.
>
> It was a hand-written systemd unit file, hence the error.  My main
> concern is with this error message:
>
>   guix pull: error: got unexpected path `hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package and' from substituter
>
> Previously, the daemon would continue in the face of wrong locale
> settings, but print lots of warnings, now it fails hard and early with
> this unhelpful message.
>
> If that is intended, can we catch it and provide a more actionable error
> message?

No, that must be a regression somewhere, but I’m not sure where.

Does it happen if you run say “guix build hello” and a substitute is
downloaded?  Or “guix build hello -S --no-substitutes”?

Thanks,
Ludo’.