首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误,包括petalinux中的共享预构建库

错误,包括petalinux中的共享预构建库
EN

Stack Overflow用户
提问于 2020-04-10 15:59:50
回答 2查看 3.3K关注 0票数 2

我试图简单地将两个共享库包含到我的petalinux项目(基于Yocto的)中。在花瓣引导第65页上的“包括预构建库”部分之后,我得到了包含两个库的下一个菜谱(我只发布了一个,因为另一个是相同的,但只是更改了名称):

代码语言:javascript
运行
复制
#
# This file is the libpiimager recipe.
#

SUMMARY = "Simple libpiimager application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libirimager.so \
    "

S = "${WORKDIR}"

TARGET_CC_ARCH += "${LDFLAGS}"
INSANE_SKIP_${PN} = "arch" 

do_install() {
         install -d ${D}/${libdir}
         install -m 0755 ${S}/libirimager.so ${D}/${libdir}
}

FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""

构建下一个错误的图像:

代码语言:javascript
运行
复制
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(CXXABI_ARM_1.3.3), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires ld-linux.so.3, but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6, but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libgcc_s.so.1, but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(GLIBCXX_3.4.11), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(GLIBCXX_3.4), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libgcc_s.so.1(GCC_3.5), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires ld-linux.so.3(GLIBC_2.4), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(CXXABI_1.3), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libm.so.6(GLIBC_2.4), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(GLIBCXX_3.4.15), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(GLIBCXX_3.4.9), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libc.so.6, but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libm.so.6, but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libc.so.6(GLIBC_2.15), but no providers found in RDEPENDS_libpiimager? [file-rdeps]
ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: Architecture did not match (ARM, expected AArch64) on /work/aarch64-xilinx-linux/libpiimager/1.0-r0/packages-split/libpiimager-dbg/usr/lib/.debug/libirimager.so [arch]
ERROR: libpiimager-1.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: libpiimager-1.0-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/aarch64-xilinx-linux/libpiimager/1.0-r0/temp/log.do_package_qa.26170
ERROR: Task (/home/josee/hdl/dev/petalinux/sw_vlu/project-spec/meta-user/recipes-apps/libpiimager/libpiimager.bb:do_package_qa) failed with exit code '1'
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: Architecture did not match (ARM, expected AArch64) on /work/aarch64-xilinx-linux/libirimageprocessing/1.0-r0/packages-split/libirimageprocessing-dbg/usr/lib/.debug/libirimageprocessing.so [arch]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6(CXXABI_ARM_1.3.3), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires ld-linux.so.3, but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6, but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libgcc_s.so.1, but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6(GLIBCXX_3.4.11), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6(GLIBCXX_3.4), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6(CXXABI_1.3), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires ld-linux.so.3(GLIBC_2.4), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libm.so.6(GLIBC_2.4), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libgcc_s.so.1(GCC_3.5), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libc.so.6(GLIBC_2.7), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libstdc++.so.6(GLIBCXX_3.4.9), but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libc.so.6, but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimageprocessing.so contained in package libirimageprocessing requires libm.so.6, but no providers found in RDEPENDS_libirimageprocessing? [file-rdeps]
ERROR: libirimageprocessing-1.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: libirimageprocessing-1.0-r0 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/aarch64-xilinx-linux/libirimageprocessing/1.0-r0/temp/log.do_package_qa.26173
ERROR: Task (/home/josee/hdl/dev/petalinux/sw_vlu/project-spec/meta-user/recipes-apps/libirimageprocessing/libirimageprocessing.bb:do_package_qa) failed with exit code '1'
ERROR: petalinux-user-image-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo --installroot=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs --setopt=logdir=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp --nogpgcheck install shadow libpiimager libc6 webfwu pciutils libstdc++-dev i2c-tools mtd-utils packagegroup-core-boot watchdog-init busybox-httpd udev-extraconf packagegroup-petalinux-utils libc6-dev openssh-sftp-server canutils bootscript kernel-modules libstdc++6 packagegroup-petalinux-gstreamer run-postinsts base-passwd libomxil-xlnx libusb-1.0-0 libirimageprocessing libm3api2 bridge-utils tcf-agent packagegroup-petalinux-v4lutils hellopm packagegroup-core-ssh-dropbear startup' returned 1:
Added oe-repo repo from /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo
Last metadata expiration check: 0:00:01 ago on Fri 10 Apr 2020 03:35:51 PM UTC.
Error: 
 Problem 1: conflicting requests
  - nothing provides libc.so.6(GLIBC_2.15) needed by libpiimager-1.0-r0.aarch64
 Problem 2: conflicting requests
  - nothing provides libc.so.6(GLIBC_2.7) needed by libirimageprocessing-1.0-r0.aarch64

ERROR: petalinux-user-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp/log.do_rootfs.26188
ERROR: Task (/home/josee/hdl/dev/petalinux/sw_vlu/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_rootfs) failed with exit code '1'

我查找缺少的依赖项,它们都已安装(最后一个库版本),例如:

代码语言:javascript
运行
复制
#sudo apt-get install libstdc++6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libstdc++6 is already the newest version (5.4.0-6ubuntu1~16.04.11).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.


#sudo apt-get install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version (2.23-0ubuntu11).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.

此外,我还试图将它们包括在菜谱中,例如:

代码语言:javascript
运行
复制
RDEPENDS_${PN} += "libc6"
RDEPENDS_${PN} += "libstdc++6"
(...)

但仍然找不到库和错误仍然存在。

有人知道我为什么会犯这些错误吗?

编辑:

看起来,下面的答案是我正在做的一些进展,我在食谱中添加了建议:

代码语言:javascript
运行
复制
#
# This file is the libpiimager recipe.
#

SUMMARY = "Simple libpiimager application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://libirimager.so \
    "

S = "${WORKDIR}"

TARGET_CC_ARCH += "${LDFLAGS}"
INSANE_SKIP_${PN} += "arch" 
INSANE_SKIP_${PN} += "file-rdeps"

do_install() {
         install -d ${D}/${libdir}
         install -m 0755 ${S}/libirimager.so ${D}/${libdir}
}

FILES_${PN} += "${libdir}"
FILES_SOLIBSDEV = ""

我现在有较少的错误,但仍然是下一个错误:

代码语言:javascript
运行
复制
ERROR: petalinux-user-image-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo --installroot=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs --setopt=logdir=/home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp --nogpgcheck install libstdc++6 packagegroup-core-ssh-dropbear base-passwd libomxil-xlnx packagegroup-petalinux-utils canutils packagegroup-petalinux-gstreamer hellopm libpiimager run-postinsts openssh-sftp-server libm3api2 libusb-1.0-0 bridge-utils packagegroup-petalinux-v4lutils libirimageprocessing tcf-agent webfwu pciutils libc6 libc6-dev shadow mtd-utils bootscript kernel-modules i2c-tools libstdc++-dev watchdog-init packagegroup-core-boot busybox-httpd udev-extraconf startup' returned 1:
Added oe-repo repo from /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo
Last metadata expiration check: 0:00:01 ago on Sun 12 Apr 2020 04:40:52 PM UTC.
Error: 
 Problem 1: conflicting requests
  - nothing provides libc.so.6(GLIBC_2.15) needed by libpiimager-1.0-r0.aarch64
 Problem 2: conflicting requests
  - nothing provides libc.so.6(GLIBC_2.7) needed by libirimageprocessing-1.0-r0.aarch64

ERROR: petalinux-user-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/josee/hdl/dev/petalinux/sw_vlu/build/tmp/work/plnx_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp/log.do_rootfs.9499
ERROR: Task (/home/josee/hdl/dev/petalinux/sw_vlu/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_rootfs) failed with exit code '1'

知道我现在为什么会犯这些错误吗?

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-11 18:29:30

尝试:

INSANE_SKIP_${PN} = "file-rdeps"

您正在将Yocto配置为忽略食谱中应该包含的依赖项。

示例:如果您有一个shell脚本并使用/bin/bash,但是没有将bash包含在依赖项中,它将使用INSIDE_SKIP_${PN} = "file-rdeps"启动这个QA,解决它,但您必须确定您正在做什么。

票数 2
EN

Stack Overflow用户

发布于 2022-06-24 09:27:46

当许多人要求解释时,我发现这个页面非常有用的https://docs.yoctoproject.org/current/singleindex.html#ref-classes-insane

关于file-rdeps,它说:

  • 文件-rdeps:检查OpenEmbedded构建系统在打包时确定的文件级依赖关系是否满足。例如,shell脚本可能以#!/bin/bash行开头。这一行将转换为/bin/bash上的文件依赖项。在OpenEmbedded构建系统支持的三个包管理器中,只有RPM直接处理文件级的依赖关系,将它们自动解析为提供文件的包。但是,其他两个包管理器中缺少该功能并不意味着依赖关系仍然不需要解决。此QA检查尝试确保显式声明的RDEPENDS存在以处理在打包文件中检测到的任何文件级依赖关系。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61144014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档