Errors including shared prebuilt libraries in petalinux

时光怂恿深爱的人放手 提交于 2020-12-12 11:36:52

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!