【问题标题】:Not able to find dependency for fop command in Yocto在 Yocto 中找不到 fop 命令的依赖项
【发布时间】:2020-03-05 07:03:54
【问题描述】:

我正在尝试使用 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”命令?

【问题讨论】:

    标签: xml xslt yocto apache-fop


    【解决方案1】:

    如果您需要在构建主机上可用的工具,您应该将其添加到名为 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 还不错。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这不是 yocto 或 openembedded 的工作方式(默认情况下)。甚至本地工具也是在构建系统本身内部构建和使用的,换句话说,除非在特定情况下,否则不会使用构建主机依赖项——Eriks 的回答显示了这种特定情况。
      猜你喜欢
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2020-05-10
      相关资源
      最近更新 更多