Closed pathunstrom closed 11 months ago
Ah, got it.
root@cirrus-ci-task-6490944787185664:/tmp/cirrus-ci-build# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
root@cirrus-ci-task-6490944787185664:/tmp/cirrus-ci-build# locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.utf8
POSIX
And from https://docs.python.org/3/library/locale.html#locale.setlocale :
This sets the locale for all categories to the user’s default setting (typically specified in the LANG environment variable). If the locale is not changed thereafter, using multithreading should not cause problems.
The locale is set to en_US but only C is installed.
This must be a cirrus-ism, because the container locally defaults to C.
I sent an email to Cirrus. We'll see if they answer in a timely fashion--given that they have more formalized support offerings now, I suspect we'll be farther down the priority list than we've previously experienced.
From Fedor Korotkov:
Yes, Cirrus historically set's LANG environment variable to "en_US.UTF-8". You can override it though if it conflict with your setup.
Let me see if I can take a stab at a suggestion.
Add this to the top of the file:
env:
LANG: "C.UTF-8"
Hm. I'm struggling to reproduce the docs build error locally.