Не удалось найти зависимость для команды FOP в Yocto - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь конвертировать XML файл в формат PDF, используя xsltpro c & fop tool.

Я создал рецепт для этого в yocto.

do_install {
    xsltproc /usr/share/xml/docbook/xsl-stylesheets/fo/docbook.xsl Sample.xml > Sample.fo
    fop -fo Sample.fo -pdf Sample.pdf
 }

Я получаю сообщение об ошибке, что команда "fop" не найдена. Я пытался найти зависимые пакеты для "fop", но не получил его.

Вопрос в том, как использовать команду "fop" в yocto?

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Если вам нужен инструмент, который будет доступен на хосте сборки, вы должны добавить его в переменную с именем HOSTTOOLS, таким образом bitbake проверит, присутствует ли он на компьютере, на котором вы строите, и сделает его доступным для рецептов. используйте.

См. https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var -HOSTTOOLS для документации по HOSTTOOLS.

Обратите внимание, что он должен быть добавлен в глобальную конфигурацию, например local.conf, а не в указанном c рецепте.

Если вы не хотите добавлять какие-либо дополнительные требования к хост-системе сборки, вы можете добавить рецепт для сборки инструмента fop в Yocto. Тогда вы можете сделать свой рецепт зависимым от fop-native, и он будет работать на любой машине независимо от того, установлен fop или нет. Это более чистый способ сделать это, но может потребоваться дополнительная работа, если fop имеет много зависимостей, рецепт которых еще не существует. Добавление его в HOSTTOOLS не так уж и плохо.

0 голосов
/ 05 марта 2020

Вы уверены, что у вас есть fop на хост-компьютере (где вы собираете Yocto). Если вы работаете с docker, вам может потребоваться установить его перед запуском bitbake.

...