[yocto] Trying to add new recipe - getting QA error I don't understand

Brad Litterell bradl at taser.com
Wed Jul 31 15:39:32 PDT 2013


Hi Ross,


Thanks for your reply.


First, it appears you are correct that UCI is not following the normal pattern.  Here is the image for the package:

.
└── usr
    ├── bin
    │   ├── uci
    │   └── uci-static
    ├── include
    │   ├── uci_config.h
    │   ├── uci.h
    │   └── ucimap.h
    └── lib
        ├── libuci.a
        └── libuci.so


So, I added this:


FILES_${PN} +="/usr/lib/*"

However that doesn't remove the message.  Did I do it right?

Also, in the error message "uci depends on uci-dev" does "uci" refers to the package name or the executable name?

I wasn't able to remove PV, it ran into a different build break since the tar.gz emits the source folder with that name.  I'm using the tar.gz to make sure I'm building the same source as the project for my old board.  That project used a variant of build root, but we're trying to move to Yocto because it seems to have a better supported future.  IOW, using the tar ball is a way to change only one thing at a time until the rest of the build is happy.

Thanks again,
Brad


On Jul 31, 2013, at 11:45 AM, "Burton, Ross" <ross.burton at intel.com<mailto:ross.burton at intel.com>> wrote:

Hi Brad,

On 31 July 2013 18:52, Brad Litterell <bradl at taser.com<mailto:bradl at taser.com>> wrote:
I'm new to Yocto, so please let me know if this is the wrong list for
questions like this.

You've got the right list for support question.

I'm trying to add a recipe for a new cmake project (for UCI).  The
do_package_qa task reports this problem:

ERROR: QA Issue: uci rdepends on uci-dev
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa

uci-dev appears to be automatically generated package - there is no recipe
for it, and I can't find any reference to it in the actual source code for
the package.  In other words, it appears as if Yocto itself is generating
this dependency somehow.

Correct, oe-core will generate a -dev package by default that contains
(typically) /usr/include and /usr/lib/lib*.so.

This warning indicates that the automatic library dependency
generation added a dependency from uci to uci-dev.  It sounds like
that UCI isn't installing versioned libraries (so eg
/usr/lib/libuci.so is the full library, not a symlink) and the main
uci package is shipping a binary that links to it.

If that's the case then basically UCI is doing shared libraries badly,
and you'll have to tweak the packaging.  Adding to FILES_${PN} to
include all of /usr/lib should put all the libraries into "uci".

PV = "2011-07-18.3"

I think hyphen in PV isn't recommended, but you can avoid setting this
if you embed the version in the filename.

#see https://forum.openwrt.org/viewtopic.php?id=15243 for git
SRC_URI = "file://uci-${PV}.tar.gz<file:///uci-${PV}.tar.gz>"

I presume you have a reason to have a local snapshot of the repo and
are not using a git URI in SRC_URI directly?

Ross

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20130731/0c2a78f6/attachment.html>


More information about the yocto mailing list