因此,我已经使用Yocto升级到了一个更新版本的Linux内核。新的内核版本为4.1.15,运行在iMX6芯片上。我还包括了openssh-server、tools-sdk和tools-调试开发配方。问题是,当我连接到构建时,会出现以下错误:
loadlocale.c:130:_nl_intern_locale_data:断言‘`cnt <(_nl_value_type_LC_COLLATE/ sizeof (_nl_value_type_LC_COLLATE))’失败
现在,如果我输入命令提示符sh -c "LANG=en_US",就会得到与上面相同的错误。如果输入sh -c "LANG=/usr/lib/locale/en_US",则不会出现错误。当我键入locale时,所有内容都被列出为POSIX,当我键入locale -a时,得到:
最后两个存储在/usr/lib/locale下。我的gcc版本是5.2,而我的语言是v2.22。我在互联网上到处寻找其他解决方案,但它们要么是针对Ubuntu的,后者是软件包管理器派上用场的地方,要么是一些非常特殊的解决方案,比如编辑Yocto构建中没有的文件。
编辑:这台机器是用于SMARC 6 SoM的,指令是这里。我不知道Yocto的哪个分支被拆除了。
发布于 2016-05-26 15:27:57
故障排除后,问题来自glibc库。在openembedded网站上有一个补丁#114739,它详细说明了如何解决这个问题。只需修补文件,重新构建,问题就解决了。有关详细信息,请参阅这里,修补程序位于页面底部。
https://stackoverflow.com/questions/37121895
复制相似问题