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 "