Hi Zoran, I just saw your reply now. I think that you might want to remove the INHIBIT_SYSROOT_STRIP and other INHIBIT_* options from your recipe. For reference a message from Khem warning that this option should be used sparingly: * https://www.yoctoproject.org/pipermail/yocto/2019-March/044415.htmlMy best guess is that the use of this option is directly linked to chrpath being needed. As this recipe is being built with a rather clean looking CMakeLists.txt none of these weird options are needed. Kind regards, Laurent. On Mon, Feb 17, 2020 at 8:01 AM Zoran Stojsavljevic <zoran.stojsavljevic@...> wrote:
The issue I see is that the following files have been build but NOT installed:
* libcannelloni-common.so.0 * libcannelloni-common.so.0.0.1 Not quite... The solution is outlined here (in function do_install): + ## ERROR: QA Issue: package cannelloni contains bad RPATH + ## quick fix is in a do_install or do_install_append do + chrpath -d ${D}${bindir}/cannelloni
https://github.com/ZoranStojsavljevic/meta-socketcan/blob/master/recipes-can/cannelloni/cannelloni.bb https://github.com/ZoranStojsavljevic/meta-socketcan/blob/master/recipes-can/cannelloni/cannelloni.bb_GENIVI
I admit, your first email has shaken my head, so I can see things much more clear. :-)
My best guess, this solution is just a workaround (not the final one), since I have in ${D} the following:
cannelloni-1.0: package cannelloni contains bad RPATH /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build: in file /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni/usr/bin/cannelloni [rpaths]
So, since my limited knowledge about bitbake build systems ends here, somebody from YOCTO primes (potentially Khem Raj, Ross Burton, maybe even Richard Purdie) should look more closely into this issue (apologies for my unsolicited suggestions).
Laurent,
Once again, thank you for unselfish help, Zoran _______
On Fri, Feb 14, 2020 at 2:20 PM Laurent Gauthier <laurent.gauthier@...> wrote:
Hi Zoran,
You are almost there! I can feel it... :-)
The issue I see is that the following files have been build but NOTinstalled:
* libcannelloni-common.so.0 * libcannelloni-common.so.0.0.1
If you make sure that they are installed that should fix your issue.
Based on the info you provided no RDEPENDS seems to be required as it all appears that everything is in one package named "cannelloni", rather than a package for the main executable and then packages for libraries.
Kind regards, Laurent.
On Fri, Feb 14, 2020 at 12:43 PM Zoran Stojsavljevic <zoran.stojsavljevic@...> wrote:
Hello Laurent,
Many thanks to you for the help. :-)
I did some modifications, and now I have all the elements in there/in place:
[user@fedora31-ssd cannelloni]$ cd ../../../build/tmp [user@fedora31-ssd tmp]$ find . -name libcannelloni* ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/image/usr/lib/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/sysroot-destdir/usr/lib/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/package/usr/lib/.debug/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/package/usr/lib/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni/usr/lib/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni-dbg/usr/lib/.debug/libcannelloni-common.so ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build/libcannelloni-common.so.0 ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build/libcannelloni-common.so.0.0.1 ./work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build/libcannelloni-common.so ./sysroots-components/cortexa8hf-neon/cannelloni/usr/lib/libcannelloni-common.so
I miss the very end of your thoughts. Namely:
The name of the package containing the shared library is name of the xxx first-level directory "packages-split/xxx". So, how should I write the RDEPENDS command?
Something as: RDEPENDS_${PN} = "???"
What should I put on the right side of the equation (according to the above traces)?
Thank you, Zoran _______
On Fri, Feb 14, 2020 at 11:49 AM Laurent Gauthier <laurent.gauthier@...> wrote:
Hi Zoran,
The issue seems to be that the executable /usr/bin/cannelloni has a reference to a shared library (libcannelloni-common.so.0) for which the Yocto build system is not able to determine automatically which package provides it.
Based on the name I would assume that this package should be created by the same recipe that produces this executable (one recipe produces multiple packages).
The most probable reason for this is that the new version of the package you are trying to build does not install the "missing" shared library properly. But here are some steps you could follow to try to determine the stage of build/install/package where the shared library goes missing.
To debug this I would suggest that you check that this "libcannelloni-common.so.0" shared library is present in several directories.
First in the build directory:
* /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build
If it is not there that would be very surprising. I will assume that it is present. Let us know if it is not.
Then the next location to check for this shared library is the following:
* /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/package
If the file is not there, then it means that the recipe did not "install" it (as this directory is populated by do_install).
If the file is there then you can check if it is correctly assigned in a package by determining if it is also found in:
* /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split
If the file is not there, then it means that the recipe did not "package" it properly (as this directory is populated by do_package). You should review the recipe for any anomaly in assigning installed files to individual packages.
If the file is there then you probably should add the package that contains the shared library in the RDEPENDS for the "cannelloni" package.
The name of the package containing the shared library is name of the xxx first-level directory "packages-split/xxx".
Not sure if that will solve your issue, but hopefully that will help.
Kind Regards, Laurent.
On Fri, Feb 14, 2020 at 11:27 AM Zoran <zoran.stojsavljevic@...> wrote:
Hello List,
I am trying to solve very interesting ERROR I am getting with slightly modified GENIVI Canneloni recipe: https://github.com/ZoranStojsavljevic/meta-socketcan/blob/master/recipes-can/cannelloni/cannelloni.bb
If I take the recipe as is, everything works fine, with: ## SRCREV = "${AUTOREV}" SRCREV = "0fb6880b719b8acf2b4210b264b7140135e4be8a"
Everything works fine, but if I swap the static hash with auto latest hash (SRCREV = "${AUTOREV}": SRCREV = "${AUTOREV}" ## SRCREV = "0fb6880b719b8acf2b4210b264b7140135e4be8a"
I am getting these ERRORS, which seems to me very strange?! _______
Sstate summary: Wanted 11 Found 6 Missed 5 Current 1398 (54% match, 99% complete) NOTE: Executing Tasks NOTE: Setscene tasks completed ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: package cannelloni contains bad RPATH /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/build: in file /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/packages-split/cannelloni/usr/bin/cannelloni [rpaths] ERROR: cannelloni-1.0-r0 do_package_qa: QA Issue: /usr/bin/cannelloni contained in package cannelloni requires libcannelloni-common.so.0, but no providers found in RDEPENDS_cannelloni? [file-rdeps] ERROR: cannelloni-1.0-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. ERROR: Logfile of failure stored in: /home/user/projects2/beaglebone-black/bbb-yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/cannelloni/1.0-r0/temp/log.do_package_qa.255490 ERROR: Task (/home/user/projects2/beaglebone-black/bbb-yocto/meta-socketcan/recipes-can/cannelloni/cannelloni.bb:do_package_qa) failed with exit code '1' NOTE: Tasks Summary: Attempted 3791 tasks of which 3788 didn't need to be rerun and 1 failed. _______
Any advise how to make GENIVI Cannelloni recipe to work with: SRCREV = "${AUTOREV}" ???
Thank you, Zoran
-- Laurent Gauthier Phone: +33 630 483 429 http://soccasys.com
-- Laurent Gauthier Phone: +33 630 483 429 http://soccasys.com
-- Laurent Gauthier Phone: +33 630 483 429 http://soccasys.com
|