Yocto Fido -> Смертельное обновление dnsmasq НЕТ GNU_HASH

Итак, мне было дано задание перевести нашу систему, основанную на йоге, с фидо до мёртвого. У меня очень мало опыта работы с 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"

в рецепте.

Однако я не верю, что это "правильный" способ сделать это, и у меня был другой рецепт, у которого была та же проблема. Я также обнаружил, что у кого-то была похожая проблема, и перестановка пакетов сделала свое дело, но я не знаю, как это сделать.

Поэтому мой вопрос: плохая ли идея просто добавить insane_skip ко всем рецептам, которые имеют эту проблему, и если да, то как это можно исправить?

2 ответа

Решение

Вы, вероятно, выиграете, посмотрев на dnsmasq рецепт в meta-oe,

Ваша проблема в том, что dnsmasq не уважает LDFLAGS переменная из коробки. Попробуйте добавить:

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

по вашему рецепту. (См рецепт в связанном URL).

Где-то вы могли переопределить EXTRA_OECONF с помощью EXTRA_OECONF = " foobar ".
Использовать += понятие может решить проблему:

      EXTRA_OECONF += " foobar "
Другие вопросы по тегам