openbmc编译错误汇总,持续更新,建议收藏

本文汇总自己在编译openbmc时遇到的一些问题及解决思路,希望对有兴趣研究openbmc的同学有一些帮助。


项目地址:https://github.com/openbmc/openbmc
编译步骤:https://github.com/openbmc/openbmc
我编译主机的配置:

虚拟机 Ubuntu16.04
gcc&g++ 6.5.0
内存大小 4GB
线程数 8
硬盘空间 256GB
编译成功的标志:全部任务成功结束或者在/tmp/deploy/images/romulus下找到编译的相应镜像。

Q & A

  1. 出现某个包do_unpack失败
    这个可能时源的地址被墙了,需要FQ。
  2. 出现某个包do_compile失败
    可能有两个原因,第一检查gccc编译器及g++编译器,第二可能内存不够,解决方法建立内存交换区,可以参考这篇文章,或者在build_dir/conf/local.conf修改/增加这两个变量BB_NUMBER_THREADS = "2",PARALLEL_MAKE = "-j 4",这两个变量分别代表bitbake执行使用的线程数及编译时使用的线程数,可以通过减少线程数降低内存开销。
  3. 强制关闭bitbake进程后,再次执行发现有的包死活执行失败,提示the basehash value changed from xxx to xxx
    有一个简单的办法,找到错误信息中bb文件的位置,vim打开他,在任意一行添加空行保存,骗编译器重新编译该菜谱。
  4. bitbake卡死不动,没有任何输出信息
    ps看一下是不是运行了多个bitbake服务器,关闭它们重新运行。还有一种可能是bitbake不能连接到网络,需要检查网络。
  5. 其他错误
    如果实在是找不到办法,在你确定自己的环境满足要求后,删除目录sstate-cache,cache,tmp目录下的所有文件,重新编译。

如果你并没有找到合适的问题解决方法或者有其他问题解决方法,欢迎在留言区给出。之后我如果遇到其他的问题,我也会继续更新这篇文章。

posted @ 2021-01-06 20:10  chegxy  阅读(4357)  评论(7编辑  收藏  举报