【问题标题】:Bitbake not using patch for gccBitbake 不使用 gcc 补丁
【发布时间】:2017-03-23 06:30:02
【问题描述】:

我有一个基于 Yocto 1.7 目标 ARM 的发行版的情况,我想为交叉编译的 GCC 4.9 应用补丁。

常规的bbappend 覆盖机制不适用于 GCC,这是“特殊的”。

我有一个找到目标的gcc-cross_4.9.bbappend 文件;但在其他方面,就好像它不存在一样。尽管删除了所有标记文件以强制从 do_unpackdo_patchdo_config 向前重建,但未应用补丁。

【问题讨论】:

    标签: yocto bitbake


    【解决方案1】:

    答案是:注意哪个包实际上受制于do_unpackdo_patch。不是gcc-crossgcc,而是gcc-source

    gcc的各个阶段和配置都共享gcc-source虚拟包的解包步骤;如果您以补丁覆盖为目标,则不会发生任何事情,因为它们都不会执行任何解包和修补步骤。

    控制这些步骤的是一个gcc-source-basenamed .bb 文件。

    因此,我只是将 .bbappend 重命名为以 gcc-source 名称为目标,然后它就起作用了。

    【讨论】:

      【解决方案2】:

      我不知道你花了多长时间调试这个,但一个简单的方法是执行

      bitbake-layers show-appends | grep gcc

      你会直接看你的bbappend是否被yocto考虑了

      【讨论】:

      • 问题是,Yocto 考虑了错误的 bbappend 。只是它对SRC_URI 所做的操作是无关紧要的。当我运行你的命令时,无论我的名字是对是错,它都能正常工作,这表明我已经知道:我的 gcc-whatever_4.9.bbappend 与 Poky 的 gcc-wbatever_4.9.bb 配方相匹配。只是whatever 可能是crosssource
      猜你喜欢
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2011-07-08
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多