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

Saul Wold sgw at linux.intel.com
Wed Jul 31 16:00:19 PDT 2013


On 07/31/2013 03:39 PM, Brad Litterell wrote:
> 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/*"
>
Brad,

This should be using the ${libdir}, which is the variable that defines 
the correct "/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.
>
What's the name of your recipe?  Normally the PV is parsed from the 
recipename <recipename>_<version>.bb recipename goes into BPN (PN) and 
version goes into PV.

You can set the a SRCREV to a specific git hash and that will be stable 
also. But you can start this way and then move to using a true git based 
recipe.

Hope this helps.

Sau!


> 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
>
>
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



More information about the yocto mailing list