【问题标题】:Install a binary from a third party package in yocto在 yocto 中从第三方包安装二进制文件
【发布时间】:2023-12-02 08:58:01
【问题描述】:

我正在尝试在由 yocto 构建的自定义 linux 映像中使用 jpegtran 命令。为此,我在 image.bb 文件中添加了 IMAGE_INSTALL += jpeg。我还检查了构建目录以检查 jpegtran 是否由 jpeg 包构建生成,并且它在那里。但是 jpegtran 没有安装在图像中。我在这里想念什么?我需要为这个用例编写 .bbappend 吗?

【问题讨论】:

    标签: jpeg yocto bitbake


    【解决方案1】:

    查看${WORKDIR}/packages-split 中的libjpeg-turbolibjpeg(取决于您使用的OpenEmbedded 版本)。在那里你应该在包jpgeg-tools 中找到jpegtrans。有关如何为 `libjpeg(-turbo) 完成打包的详细信息,另请参阅 recipe

    libjep(-turbo) 安装的所有应用程序,通过以下行打包到libjeg-tools

    DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality.  These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
    FILES_jpeg-tools = "${bindir}/*"
    

    【讨论】:

    • 感谢您的回复。我读了那个食谱,但我没有找到在图像上安装 jpegtran 命令的行。如果我遗漏了什么,你能指出我吗?
    • 好吧,我假设它的Makefile 安装是帮助应用程序。请参阅我的更新答案。
    • 安装了 jpeg-tools 包而不是 jpeg,现在我在我的图像中看到了 jpegtran。 IMAGE_INSTALL += jpeg 替换为 IMAGE_INSTALL += jpeg-tools