下载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:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
scripts/Makefile.autoconf:79: recipe for target 'u-boot.cfg' failed
make[1]: *** [u-boot.cfg] Error 1
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"
source ~/.bashrc
重新make,发现依旧错误,打开内核和U-boot的Makefile,注释掉
unexport LC_ALL
再次编译,通过。
解决办法2:
Makefile是由海思提供好的,轻易不要改变。
编辑locale文件。
vim /etc/default/locale
将第一项LANG="zh_CN,UT-F8"改为LANG=“C”
保存,重启,再次编译通过。