问题
I'm trying to simply include a couple of shared libraries to my petalinux project (Yocto based). Following the "Including Prebuilt Libraries" section on pg 65 of the petalinux guide I've got the next recipes to included both libraries (only I post one because the other is the same but only changing the name):
#
# 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 = ""
Building the image I've got the next errors:
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'
I looked for the missing dependencies and they are all installed (last libraries versions), eg:
#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.
Also I tried to include them in the recipe, e.g with:
RDEPENDS_${PN} += "libc6"
RDEPENDS_${PN} += "libstdc++6"
(...)
But still can't find the libraries and errors persists.
Does anyone have an idea why I'm getting those errors?
EDIT:
Well it looks like following to the below answer I'm doing some progress, I added the suggested to the recipe:
#
# 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 = ""
I'm having now less errors but still the next one:
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'
Any ideas why I'm having these errors now?
Thanks in advance.
回答1:
Try:
INSANE_SKIP_${PN} = "file-rdeps"
You're configuring the Yocto Project to ignore dependencies that should be in the recipe.
Example: If you have a shell script and use /bin/bash
but did not include bash it in the dependencies it will launch this QA, with INSIDE_SKIP_${PN} = "file-rdeps"
, solve it but you have to be sure of what you are doing .
来源:https://stackoverflow.com/questions/61144014/errors-including-shared-prebuilt-libraries-in-petalinux