Shared libraries 错误,包括Linux中的共享预构建库

Shared libraries 错误,包括Linux中的共享预构建库,shared-libraries,yocto,bitbake,Shared Libraries,Yocto,Bitbake,我只是想在我的petalinux项目(基于Yocto)中加入几个共享库。在第65页的“包括预构建库”一节之后,我得到了包含两个库的下一个配方(我只发布了一个,因为另一个是相同的,但只是更改了名称): 构建映像我有以下错误: ERROR: libpiimager-1.0-r0 do_package_qa: QA Issue: /usr/lib/libirimager.so contained in package libpiimager requires libstdc++.so.6(CXXABI

我只是想在我的petalinux项目(基于Yocto)中加入几个共享库。在第65页的“包括预构建库”一节之后,我得到了包含两个库的下一个配方(我只发布了一个,因为另一个是相同的,但只是更改了名称):

构建映像我有以下错误:

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'
我查找了缺少的依赖项,它们都已安装(最新的库版本),例如:

我还尝试将它们包括在配方中,例如:

RDEPENDS_${PN} += "libc6"
RDEPENDS_${PN} += "libstdc++6"
(...)
但是仍然找不到库,错误仍然存在

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

编辑:

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

#
# 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 = ""
我现在的错误减少了,但仍然是下一个错误:

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'
知道我为什么会犯这些错误吗

提前感谢。

试试:

incane\u SKIP\u${PN}=“file rdeps”

您正在将Yocto项目配置为忽略配方中应该包含的依赖项


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

请对您的答案添加一些解释,以便其他人可以从中学习it@Cleiton布埃诺,谢谢你的建议,我把它添加到食谱中,我不会再犯这个错误了,你能解释一下这个指令是怎么做的吗?现在的问题是,我有另一个错误,(我已经用这个更新了我的问题)它是关于glibc支持的警告,请尝试添加
DEPENDS=“glib-2.0”
@CleitonBueno,谢谢你的建议,我尝试了,但不幸的是也没有成功,仍然是相同的错误,我不明白的是,如果安装了这些库,为什么要抱怨这些库…为了给出完整的答案,我们需要知道您的库的依赖关系,并拥有对错误日志的完全访问权限。我可以发布整个错误日志,但我如何列出/显示库的依赖关系?如果您有源代码,通过查看
LIBS
变量,可以检查编译中所需的库。如果编译了库,可以使用命令
ldd
,后跟库的名称,它将返回依赖库。一开始就是这样。
#
# 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 = ""
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'