help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: locale warning and postgresql


From: Myles English
Subject: Re: locale warning and postgresql
Date: Mon, 28 Nov 2016 23:37:11 +0000
User-agent: mu4e 0.9.17; emacs 25.1.1

on [2016-11-28] at 21:47 Alex Kost writes:

> Ludovic Courtès (2016-11-28 21:48 +0100) wrote:
>
>> Hi Myles,
>>
>> Myles English <address@hidden> skribis:
>>
>>> I have always had trouble with my locale after installing guix on Arch
>>> Linux (with zsh and a basic window manager, bspwm).  I have set
>>> GUIX_LOCPATH in ~/.zshenv and it appears correct in my shell.  The
>>> system-wide locale looks right.  When I install postgresql it gives the
>>> usual "warning: failed to install locale: Invalid argument".  When I try
>>> to initialise a database cluster, passing the locale doesn't work.
>>>
>>> Does anyone using Arch Linux and a basic WM know which file to put
>>> GUIX_LOCPATH in so that the warning goes away?
>>>
>>> How can I find out what guix thinks its locale is or what are available?
>>>
>>> Is there a way to use initdb even though there is a locale warning?
>>>
>>> Shell experiments:
>>>
>>> $ locale
>>> LANG=en_GB.UTF-8
>>> LC_CTYPE="en_GB.UTF-8"
>>> LC_NUMERIC="en_GB.UTF-8"
>>> LC_TIME="en_GB.UTF-8"
>>> LC_COLLATE="en_GB.UTF-8"
>>> LC_MONETARY="en_GB.UTF-8"
>>> LC_MESSAGES="en_GB.UTF-8"
>>> LC_PAPER="en_GB.UTF-8"
>>> LC_NAME="en_GB.UTF-8"
>>> LC_ADDRESS="en_GB.UTF-8"
>>> LC_TELEPHONE="en_GB.UTF-8"
>>> LC_MEASUREMENT="en_GB.UTF-8"
>>> LC_IDENTIFICATION="en_GB.UTF-8"
>>> LC_ALL=
>>>
>>> $ echo $GUIX_LOCPATH
>>> /home/myles/.guix-profile/lib/locale
>>
>> What does “ls $GUIX_LOCPATH/2.24” show?
>>
>> You must make sure you have the ‘glibc-locales’ or ‘glibc-utf8-locales’
>> that correspond to the glibc version of the program you are using (if
>> you just installed postgresql, it’s using glibc 2.24.)
>>
>> Then you need to make sure GUIX_LOCPATH is set both in the environment
>> of the postgresql daemon, and in the environment of the commands you
>> invoke (initdb, etc.).
>
> Including the guix-daemon, as this warning:
>
>>> $ guix package -i postgresql
>>> warning: failed to install locale: Invalid argument
>>> The following package will be upgraded:
>>>    postgresql       9.5.3 -> 9.5.3  
>>> /gnu/store/sfgg20a7jnwfisajsvqdijjm2zj905az-postgresql-9.5.3
>
> comes from the daemon, so make sure your "guix-daemon.service" has a
> line like this:
>
>   Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale

Thank you, I hadn't installed glibc-utf8-locales for root.  Perhaps this
step could be added to the documentation in "2.6.1 Locales"?

I also might have been using --locale wrong but I still can't get initdb
to use one:


$ initdb --locale=en_GB -E UTF8 -D '/home/myles/pgdata-guix'
The files belonging to this database system will be owned by user "myles".
This user must also own the server process.

initdb: invalid locale name "en_GB"


$ initdb --locale=en_GB.UTF-8 -E UTF8 -D '/home/myles/pgdata-guix'
The files belonging to this database system will be owned by user "myles".
This user must also own the server process.

initdb: invalid locale name "en_GB.UTF-8"


$ initdb -D '/home/myles/pgdata-guix'
The files belonging to this database system will be owned by user "myles".
This user must also own the server process.

initdb: invalid locale settings; check LANG and LC_* environment
variables


Any ideas?

Myles



reply via email to

[Prev in Thread] Current Thread [Next in Thread]