Ale*_*pus 15 language-support locale 18.04
我最近将 Ubuntu 更新到 18.04。在此之后,发出命令ld不断失败,并出现以下断言:
loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了这个问题,看起来这是一个众所周知的问题。我读过的所有解决方案都建议使用以下命令修复此问题:
export LC_ALL=C
Run Code Online (Sandbox Code Playgroud)
例如,参见这个。但是,这样做会破坏 VIM 中我的母语评论的字体。
所以,这个解决方案不适合我-。有没有其他方法可以解决这个问题?
我在 Ubuntu 14 trusty 上遇到了这个问题,我解决如下。
首先,编辑/etc/locale.gen并添加所需的区域设置。
确保utf8区域设置名称中的 是小写的,而不是 eg UTF-8。
所以我的是:
en_US.utf8
ru_RU.utf8
Run Code Online (Sandbox Code Playgroud)
现在以 root 身份运行:
rm -f /usr/lib/locale/locale-archive
locale-gen --no-archive
locale-gen --no-archive en_US.utf8
locale-gen --no-archive ru_RU.utf8
Run Code Online (Sandbox Code Playgroud)
旗帜--no-archive很重要。
现在请确保在启动文件等中将~/.bash_profile相关变量~/.bashrc设置LANG为小写utf8形式,请参阅目录/usr/lib/locale以获取正确的形式。
一样容易:
export LC_ALL=C
Run Code Online (Sandbox Code Playgroud)
然后运行你的命令。如果未设置某些内容,则 LC_ALL 可用作后备(例如您的情况下的 LC_TIME)
| 归档时间: |
|
| 查看次数: |
15486 次 |
| 最近记录: |