linux - 添加 fftw 包时 Yocto bitbake 构建错误
问题描述
我正在使用 Yocto Warrior 版本为 Dart-imx8m SOM 构建 linux。可在此处找到文档:https ://variwiki.com/index.php?title=DART-MX8M_Yocto&release=RELEASE_WARRIOR_V1.1_DART-MX8M 。
我想添加配方在 meta-oe 层的 fftw 包。每当我在我的 local.conf 文件中添加这个包时,我都会收到有关 dnf 相关任务的 bitbake 错误。
我在我的local.conf文件中添加这样的包:IMAGE_INSTALL_append = " fftw"
使用bitbake fsl-image-gui构建图像时出现以下错误:
ERROR: fsl-image-gui-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/rootfs/etc/yum.repos.d --installroot=/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/rootfs --setopt=logdir=/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/temp --repofrompath=oe-repo,/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/oe-rootfs-repo --nogpgcheck install packagegroup-core-tools-profile packagegroup-fsl-tools-audio packagegroup-core-ssh-dropbear tree rpm packagegroup-fsl-tools-benchmark boost gstreamer1.0 packagegroup-fsl-tools-gpu packagegroup-fsl-gstreamer1.0 psplash gpsd packagegroup-base-extended collectd kernel-image-4.19.35-imx8mq+gdc7a2fd packagegroup-core-tools-testapps packagegroup-core-boot tcf-agent packagegroup-fsl-tools-gpu-external packagegroup-core-full-cmdline packagegroup-tools-bluetooth packagegroup-fsl-tools-testapps opencv fftw libsdl-1.2-0 packagegroup-fsl-gstreamer1.0-full lftp packagegroup-core-tools-debug libgpiod2 dnf weston-init run-postinsts mosquitto packagegroup-core-nfs-server sshfs-fuse spitools kernel-devicetree android-tools htop poco tmux openssh-sftp-server weston-xwayland xterm locale-base-en-us locale-base-en-gb' returned 1:
DNF version: 4.1.0
cachedir: /home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/rootfs/var/cache/dnf
Added oe-repo repo from /home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/oe-rootfs-repo
repo: using cache for: oe-repo
not found other for:
not found modules for:
not found deltainfo for:
not found updateinfo for:
oe-repo: using metadata from Wed 28 Oct 2020 09:16:57 AM UTC.
Last metadata expiration check: 0:00:01 ago on Wed 28 Oct 2020 09:16:57 AM UTC.
No module defaults found
No match for argument: fftw
Error: Unable to find a match
ERROR: fsl-image-gui-1.0-r0 do_rootfs:
ERROR: fsl-image-gui-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/build_xwayland/tmp/work/imx8mq_var_dart-poky-linux/fsl-image-gui/1.0-r0/temp/log.do_rootfs.2614
ERROR: Task (/home/safetyn/safetynYoctoGenerator/warrior/var-fsl-yocto/sources/meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/images/fsl-image-gui.bb:do_rootfs) failed with exit code '1'
你知道这个错误来自哪里吗?
谢谢,
保罗
编辑:
找到了一种方法让它为那些感兴趣的人编译。(受Yocto 启发,为静态库构建失败并出现错误“未找到匹配”)
我编辑了我的 *.bb 文件并添加了ALLOW_EMPTY_${PN} = "1"
我不确定我是否完全理解它,但看起来 dnf 包管理器需要为所有添加的包创建文件夹,即使是空的。 https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-ALLOW_EMPTY
解决方案
fftw配方设置为创建几个不同的包 (RPM),如 libfftw、libfftwl、libfftwf、fftw-wisdom、fftwl-wisdom、fftwf-wisdom 和 fftw-wisdom-to-conf。您可能想要添加其中的一个或多个。似乎没有实际的 fftw 包。
重要的是要记住 IMAGE_INSTALL 和 RDEPEND 列出了包命名空间中的项目,而 DEPENDS 列出了配方命名空间中的项目。
如果您不确定要安装哪个软件包,您可以检查 tmp/work 中 fftw 的 packages-split 文件夹,以查看哪些文件包含在哪个软件包中。
推荐阅读
- c# - 无法使用 C# 将数据导入 SQL Server 数据库
- javascript - 如何在 JavaScript 中为 Firebase 文件打开保存文件对话框
- c# - 如何在C#中通过文本框AutoCompleteMode在列表框中搜索
- azure - 我可以删除 Azure 上的 ForbiddenRequests 和 ServerErrors
- python - 如何设置 settings.DEBUG == True 仅适用于超级用户, False 适用于所有用户
- python - 目前,NLTK pos_tag 只支持英文和俄文(即 lang='eng' 或 lang='rus')
- clojure - 通配符 Compojure Routes 发出警告
- java - 每 2 秒刷新一次从 JSON 响应中填充的 listView
- ios - 使用 Swift 在整个应用程序中更改 UILabel 的 textColor
- java - 整数除法:为什么打印错误的值?