Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)

  下载Hi3518EV300的SDK后编译内核和U-boot,发现爆出如下错误:

scripts/kconfig/conf  --silentoldconfig Kconfig
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
Aborted (core dumped)
CHK include/config.h
CFG u-boot.cfg
arm-himix100-linux-gcc: loadlocale.c:: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[]))' failed.
Aborted (core dumped)
scripts/Makefile.autoconf:: recipe for target 'u-boot.cfg' failed
make[]: *** [u-boot.cfg] Error
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'. Stop.

网上搜索清一色的是编译未加载到环境变量中,但我已将编译链加载到环境变量中。

解决办法1:

执行vim ~/.bashrc,添加以下代码:

export LC_ALL=C
export PATH="/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH"

Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)

source  ~/.bashrc

重新make,发现依旧错误,打开内核和U-boot的Makefile,注释掉

unexport LC_ALL

Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)

  再次编译,通过。

解决办法2:

  Makefile是由海思提供好的,轻易不要改变。

  编辑locale文件。

vim /etc/default/locale

  将第一项LANG="zh_CN,UT-F8"改为LANG=“C”

Hi3518EV300编译U-Boot和内核报错:loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)

  保存,重启,再次编译通过。

上一篇:Java虚拟机学习-Java内存区域(一)


下一篇:Linux程序Segmentation fault (core dumped)