locale -a missing on Alpine Linux?
Since 2fe3bdbd691a, initdb has been failing on malleefowl:
performing post-bootstrap initialization ... sh: locale: not found
2022-11-15 23:48:44.288 EST [10436] FATAL: could not execute command
"locale -a": command not found
2022-11-15 23:48:44.288 EST [10436] STATEMENT: SELECT
pg_import_system_collations('pg_catalog');
That's precisely the kind of thing this patch was supposed to catch, but
obviously it's not good that initdb is now failing.
First of all, is this a standard installation of this OS, or is perhaps
something incomplete, broken, or unusual about the current OS installation?
## Peter Eisentraut (peter.eisentraut@enterprisedb.com):
First of all, is this a standard installation of this OS, or is perhaps
something incomplete, broken, or unusual about the current OS installation?
Alpine uses musl libc, on which you need package musl-locales to get
a /usr/bin/locale.
https://pkgs.alpinelinux.org/package/edge/community/x86/musl-locales
https://musl.libc.org/
Regards,
Christoph
--
Spare Space
Christoph Moench-Tegeder <cmt@burggraben.net> writes:
## Peter Eisentraut (peter.eisentraut@enterprisedb.com):
First of all, is this a standard installation of this OS, or is perhaps
something incomplete, broken, or unusual about the current OS installation?
Alpine uses musl libc, on which you need package musl-locales to get
a /usr/bin/locale.
https://pkgs.alpinelinux.org/package/edge/community/x86/musl-locales
Ah. And that also shows that if you didn't install that package,
you don't have any locales either, except presumably C/POSIX.
So probably we should treat failure of the locale command as okay
and just press on with no non-built-in locales.
regards, tom lane
On 16.11.22 20:25, Tom Lane wrote:
Christoph Moench-Tegeder <cmt@burggraben.net> writes:
## Peter Eisentraut (peter.eisentraut@enterprisedb.com):
First of all, is this a standard installation of this OS, or is perhaps
something incomplete, broken, or unusual about the current OS installation?Alpine uses musl libc, on which you need package musl-locales to get
a /usr/bin/locale.
https://pkgs.alpinelinux.org/package/edge/community/x86/musl-localesAh. And that also shows that if you didn't install that package,
you don't have any locales either, except presumably C/POSIX.So probably we should treat failure of the locale command as okay
and just press on with no non-built-in locales.
That's basically what we had before, so I have just reverted that part
of my original patch.
On 2022-11-16 We 14:25, Tom Lane wrote:
Christoph Moench-Tegeder <cmt@burggraben.net> writes:
## Peter Eisentraut (peter.eisentraut@enterprisedb.com):
First of all, is this a standard installation of this OS, or is perhaps
something incomplete, broken, or unusual about the current OS installation?Alpine uses musl libc, on which you need package musl-locales to get
a /usr/bin/locale.
https://pkgs.alpinelinux.org/package/edge/community/x86/musl-localesAh. And that also shows that if you didn't install that package,
you don't have any locales either, except presumably C/POSIX.So probably we should treat failure of the locale command as okay
and just press on with no non-built-in locales.
malleefowl is a docker instance (mostly docker images is what Alpine is
used for). It would be extremely easy to recreate the image and add in
musl-locales, but maybe we should just leave it as it is to test the
case where the command isn't available.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
Andrew Dunstan <andrew@dunslane.net> writes:
malleefowl is a docker instance (mostly docker images is what Alpine is
used for). It would be extremely easy to recreate the image and add in
musl-locales, but maybe we should just leave it as it is to test the
case where the command isn't available.
Agreed, leave it as-is.
regards, tom lane