5

So, I was given the task to upgrade our yocto based system from fido to morty. I have very little experience with yocto, I have been struggling with it and trying to understand it for almost a week now. I have managed to fix some issues, but now I'm facing a problem when trying to build the image:

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'

I have looked online for a solution and I did find a way to suppress the error by adding:

INSANE_SKIP_${PN} = "ldflags"

in the recipe.

However I don't believe this is the 'correct' way to do it, and I had it on another recipe, that had the same problem. I also found that someone had similar issue and rearranging packages did the trick, but I don't know how to do that.

So my question is: Is it bad idea to just add the insane_skip to all recipes that have this issue and if so how can it be fixed?

Ou Tsei
  • 470
  • 7
  • 24

2 Answers2

4

You'd likely benefit from having a look at the dnsmasq recipe in meta-oe.

Your problem is that dnsmasq doesn't respect the LDFLAGS variable out of the box. Try adding:

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

to your recipe. (See the recipe in the linked URL).

Anders
  • 8,541
  • 1
  • 27
  • 34
  • That did the trick, thank you. But why is this an issue now, when I moved to morty, but not an issue in fido? – Ou Tsei Jun 12 '17 at 08:20
  • Unless you have followed the development cycles closely, always check out the migration guide in the Yocto Project Reference Manual. This particular change is coverd in http://www.yoctoproject.org/docs/2.2.1/ref-manual/ref-manual.html#migration-2.2-default-linker-hash-style-changed. – Anders Jun 12 '17 at 08:47
0

Somewhere, you might have overridden EXTRA_OECONF with EXTRA_OECONF = " foobar ".
Use the += notion might resolve the issue:

EXTRA_OECONF += " foobar "
Iceberg
  • 2,744
  • 19
  • 19