Yocto fido ->morty 更新 dnsmasq NO GNU_HASH

Yocto fido ->morty update dnsmasq NO GNU_HASH

因此,我接到了将基于 yocto 的系统从 fido 升级到 morty 的任务。我对 yocto 的经验很少,我一直在努力研究它并试图理解它近一个星期。我已经设法解决了一些问题,但现在我在尝试构建图像时遇到了问题:

dnsmasq-2.68-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: '/oe/.../dnsmasq/2.68-r0/packages-split/dnsmasq/usr/bin/dnsmasq'

我在网上寻找解决方案,我确实找到了一种通过添加来抑制错误的方法:

INSANE_SKIP_${PN} = "ldflags"

在食谱中。

但是我不认为这是 'correct' 的方法,我在另一个食谱上也有,但也有同样的问题。我还发现有人有类似的问题,重新排列包就可以了,但我不知道该怎么做。

所以我的问题是:将 insane_skip 添加到所有有此问题的食谱中是否是个坏主意?如果是,如何解决?

您可能会从 meta-oe 中的 dnsmasq 食谱中获益。

您的问题是 dnsmasq 不遵守开箱即用的 LDFLAGS 变量。尝试添加:

EXTRA_OEMAKE_append = " 'LDFLAGS=${LDFLAGS}'"

到你的食谱。 (请参阅链接中的食谱 URL)。

在某个地方,您可能已经用 EXTRA_OECONF = " foobar " 覆盖了 EXTRA_OECONF。
使用 += 概念可能会解决问题:

EXTRA_OECONF += " foobar "