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

From: Marius Bakke <[email-masked]>
Date: Mon, 14 Dec 2020 11:33:18 +0100

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?