无法在 Yocto 中找到 fop 命令的依赖项

Not able to find dependency for fop command in Yocto

我正在尝试使用 xsltproc & fop 工具将 XML 文件转换为 PDF 格式。

我已经在 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" 的依赖包,但没有找到。

问题是如何在 yocto 中使用 "fop" 命令?

你确定你的主机上有 fop(你构建 Yocto 的地方)。如果您 运行 来自 docker,您可能需要在 运行ning bitbake 之前安装它。

如果你需要一个工具在构建主机上可用,你应该将它添加到一个名为 HOSTTOOLS 的变量中,这样 bitbake 将验证它是否存在于你正在构建的机器上并制作它可供食谱使用。

有关 HOSTTOOLS 的文档,请参阅 https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-HOSTTOOLS

请注意,它应该像 local.conf 一样添加到全局配置中,而不是在特定的配方中。

如果您不想在构建主机系统上添加任何额外要求,您可以添加一个在 Yocto 中构建 fop 工具的配方。然后你可以让你的食谱依赖于 fop-native,无论是否安装了 fop,它都可以在任何机器上运行。这是一种更简洁的方法,但如果 fop 有很多依赖项,而这些依赖项的配方尚不存在,则可能需要一些额外的工作。将它添加到 HOSTTOOLS 还不错。