下載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”
保存,重啟,再次編譯通過。