Solved locale support missing - how to fix?

For a long time I am building my systems from the svn tree, and had no problems with locale.

Now I did install from the distribution CD, so this is a native install from the CD installer:
11.3-RELEASE FreeBSD 11.3-RELEASE #0 r349754: Fri Jul 5 04:26:52 UTC 2019 root@releng2.nyi.freebsd.org:/usr/obj/powerpc.powerpc/usr/src/sys/GENERIC powerpc

And it does not have locale support. vi does show hexcodes instead of national characters. :(

Update: when booting into the live-cd, all the following happes exactly the same. So this is not something the installer misconfigured; this is as delivered.

Code:
# echo $LC_CTYPE
en_US.UTF-8
# locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
# locale -a | grep $LC_CTYPE
en_US.UTF-8
# locale -a
C
POSIX
af_ZA.ISO8859-1
af_ZA.ISO8859-15
[...]
en_US.ISO8859-1
en_US.ISO8859-15
en_US.US-ASCII
en_US.UTF-8
[...]

So, everything is installed, but it does not work:

Code:
# svnlite info /usr/src
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is en_US.UTF-8
svn: warning: please check that your locale name is correct
# LANG=en_US.ISO8859-1 svnlite info /usr/src
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LC_CTYPE is en_US.UTF-8
svn: warning: please check that your locale name is correct

And it gets even better:

Code:
# LC_CTYPE=en_US.ISO8859-1 vi
0288128HError: set: \x65\x73\x63\x61\x70\x65\x74\x69\x6d\x65 option: 6: Invalid argument
Unable to set default \x65\x73\x63\x61\x70\x65\x74\x69\x6d\x65 option
# bash
[~]# LC_CTYPE=en_US.ISO8859-1 vi
bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): Invalid argument
0288128HError: set: \x65\x73\x63\x61\x70\x65\x74\x69\x6d\x65 option: 6: Invalid argument
Unable to set default \x65\x73\x63\x61\x70\x65\x74\x69\x6d\x65 option

And still better:

Code:
[~]# sh
# LC_CTYPE=en_US.ISO8859-1
\U+006C\U+0073     # trying to enter "ls"
?????????????}  ????????}       ????????}       ?????}          ???}
???????}        ????????}       ??????}         ???????????}    ???????}
??????}         ??5?????}       ????????}       ???????}
\U+006C\U+0073^`\U+002D\U+006C\U+0061    # trying to enter ls -la
total 4648}
Segmentation fault (core dumped)
 
After recompiling world from svn, the problem is gone.
Locale on CD (live and packages) have wrong endianness.
 
Back
Top