Docker CentOS7镜像和语言环境编译问题

Docker CentOS7镜像和语言环境编译问题

我正在设置一个需要本地化支持的 Docker 映像。我还需要根据评论 #21 修补 pt_BR 区域设置这个线程。所以我基本上做的是

  • 重新安装 glibc 以恢复丢失的语言环境
  • 根据提到的编译pt_BR线

但是当我运行 localedef 时,出现编译错误。所以我最终尝试重新编译 pt_BR 语言环境本身,认为它可能与我的源文件有关,但我仍然遇到相同的错误。

我是否应该能够使用 /usr/share/i18n/locales 中的文件重新编译语言环境?

下面您将找到更多详细信息

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

错误

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

因此,经过更多挖掘后,我发现使用 --quite 只会报告致命错误,使我可以毫无问题地编译 pt_BR 语言环境。

相关内容