我最近更新了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.
我搜索了这个问题,看起来这是一个众所周知的问题。我所读过的所有解决方案都建议使用以下命令来解决这个问题:
export LC_ALL=C
参见,例如,这一个。但是,这样做就破坏了对我的母语的注解的字体。
所以,这个解决方案不适合我-。还有其他方法来解决这个问题吗?
发布于 2020-05-29 21:23:29
就像:
export LC_ALL=C
然后执行你的命令。如果没有设置某些内容,LC_ALL会起辅助作用(就像在您的情况下的LC_TIME )
发布于 2019-08-30 19:25:41
我在Ubuntu 14上遇到了这个问题,我解决了如下问题。
首先,编辑/etc/locale.gen
并添加所需的区域设置。
确保地区名称中的utf8
是小写的,而不是UTF-8
。
所以我的是:
en_US.utf8
ru_RU.utf8
现在以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
--no-archive
标志很重要。
现在,请确保在您的启动文件(如~/.bash_profile
和~/.bashrc
等)中将LANG
和相关变量设置为小写的utf8
表单,请参阅/usr/lib/locale
中的目录以获得正确的表单。
发布于 2020-05-18 15:14:31
我将它添加到我的.bashrc中,并且它修复了Ubuntu 18和20的问题,当时我用一个旧的32位gdb作为一个Arm交叉编译器来处理相同的消息。
导出LANG=C
https://askubuntu.com/questions/1081901
复制相似问题