CentOS 7 Docker Image and locale compilation

8.6k views Asked by At

I'm setting up a Docker image which requires localization support. I also need to patch the pt_BR locale according to comment #21 on this thread. So what I'm basically doing is

  • reinstall glibc to get the missing locales back
  • compile the pt_BR according to the mentioned thread.

But when I run localedef I get compilation errors. So I ended up trying to recompile the pt_BR locale itself, thinking it could be something with my source file but I still get the same errors.

Shouldn't I be able to recompile a locale using the files in /usr/share/i18n/locales?

Below you'll find more details

The Dockerfile

FROM centos:7
RUN yum reinstall -q -y glibc-common
RUN cp /usr/share/i18n/locales/pt_BR pt_BR_abnt\.src
RUN mkdir /usr/lib/locale/pt_BR_utf8_abnt
RUN localedef --verbose -c -i pt_BR_abnt.src -f UTF-8 /usr/lib/locale pt_BR_utf8_abnt

The errors

pt_BR_abnt.src:22: non-symbolic character value should not be used
pt_BR_abnt.src:23: non-symbolic character value should not be used
pt_BR_abnt.src:24: non-symbolic character value should not be used
pt_BR_abnt.src:26: non-symbolic character value should not be used
pt_BR_abnt.src:29: non-symbolic character value should not be used
pt_BR_abnt.src:30: non-symbolic character value should not be used
pt_BR_abnt.src:31: non-symbolic character value should not be used
pt_BR_abnt.src:32: non-symbolic character value should not be used
pt_BR_abnt.src:34: non-symbolic character value should not be used
pt_BR_abnt.src:35: non-symbolic character value should not be used
pt_BR_abnt.src:36: non-symbolic character value should not be used
pt_BR_abnt.src:37: non-symbolic character value should not be used
pt_BR_abnt.src:38: non-symbolic character value should not be used
pt_BR_abnt.src:39: non-symbolic character value should not be used
pt_BR_abnt.src:40: non-symbolic character value should not be used
pt_BR_abnt.src:41: non-symbolic character value should not be used
pt_BR_abnt.src:42: non-symbolic character value should not be used
pt_BR_abnt.src:43: non-symbolic character value should not be used
pt_BR_abnt.src:44: non-symbolic character value should not be used
pt_BR_abnt.src:49: non-symbolic character value should not be used
/usr/share/i18n/locales/iso14651_t1:3: non-symbolic character value should not be used
pt_BR_abnt.src:76: non-symbolic character value should not be used
/usr/share/i18n/locales/pt_PT:49: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1425: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1674: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1719: non-symbolic character value should not be used
/usr/share/i18n/locales/i18n:1756: non-symbolic character value should not be used
/usr/share/i18n/locales/pt_PT:56: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:10: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:11: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:12: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:13: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:14: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:15: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:16: non-symbolic character value should not be used
/usr/share/i18n/locales/translit_neutral:17: non-symbolic character value should not be used
LC_NAME: field `name_gen' not defined
LC_NAME: field `name_mr' not defined
LC_NAME: field `name_mrs' not defined
LC_NAME: field `name_miss' not defined
LC_NAME: field `name_ms' not defined
LC_ADDRESS: field `country_name' not defined
LC_ADDRESS: field `country_post' not defined
LC_ADDRESS: field `country_car' not defined
LC_ADDRESS: field `country_isbn' not defined
LC_ADDRESS: field `lang_name' not defined
LC_ADDRESS: field `lang_term' not defined
LC_ADDRESS: field `lang_ab' not defined
LC_IDENTIFICATION: field `audience' not defined
LC_IDENTIFICATION: field `application' not defined
LC_IDENTIFICATION: field `abbreviation' not defined
LC_IDENTIFICATION: no identification for category `LC_MEASUREMENT'
LC_CTYPE: table for class "upper": 1756 bytes
LC_CTYPE: table for class "lower": 1756 bytes
LC_CTYPE: table for class "alpha": 4320 bytes
LC_CTYPE: table for class "digit": 600 bytes
LC_CTYPE: table for class "xdigit": 600 bytes
LC_CTYPE: table for class "space": 856 bytes
LC_CTYPE: table for class "print": 5976 bytes
LC_CTYPE: table for class "graph": 5976 bytes
LC_CTYPE: table for class "blank": 856 bytes
LC_CTYPE: table for class "cntrl": 664 bytes
LC_CTYPE: table for class "punct": 4824 bytes
LC_CTYPE: table for class "alnum": 4320 bytes
LC_CTYPE: table for class "combining": 3152 bytes
LC_CTYPE: table for class "combining_level3": 2832 bytes
LC_CTYPE: table for map "toupper": 16924 bytes
LC_CTYPE: table for map "tolower": 15388 bytes
LC_CTYPE: table for map "totitle": 16924 bytes
LC_CTYPE: table for width: 26712 bytes
1

There are 1 answers

3
Grasshopper On BEST ANSWER

So after a little more digging I found out that adding --quiet, which will only report fatal errors, allows me to compile the pt_BR locale without a problem.