[yocto] in-tree module dependency

Matteo Facchinetti matteo.facchinetti at sirius-es.it
Thu Sep 5 05:53:17 PDT 2019


Il giorno mer 4 set 2019 alle ore 18:41 Matteo Facchinetti <
matteo.facchinetti at sirius-es.it> ha scritto:

>
>
> Il giorno mer 4 set 2019 alle ore 16:23 Khem Raj <raj.khem at gmail.com> ha
> scritto:
>
>>
>>
>> On Wed, Sep 4, 2019 at 7:10 AM Matteo Facchinetti <
>> matteo.facchinetti at sirius-es.it> wrote:
>>
>>>
>>>
>>> Il giorno mer 4 set 2019 alle ore 15:54 Khem Raj <raj.khem at gmail.com>
>>> ha scritto:
>>>
>>>>
>>>>
>>>> On Wed, Sep 4, 2019 at 2:58 AM Matteo Facchinetti <
>>>> matteo.facchinetti at sirius-es.it> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have a problem with a custom kernel module's recipe that depends to
>>>>> an other module (in-tree).
>>>>> My kernel module recipes built seems OK, but I have a problem when
>>>>> doing the rootfs image stage.
>>>>>
>>>>> Error:
>>>>>  Problem: package packagegroup-console-sirlinux-1.0-r0.0.noarch
>>>>> requires canopen-sync, but none of the providers can be installed
>>>>>   - package canopen-sync-git-r0.2.neo_sirius requires
>>>>> kernel-module-canopen-sync-4.9.51-yocto-standard, but none of the providers
>>>>> can be installed
>>>>>   - conflicting requests
>>>>>   - nothing provides kernel-module-xeno-can-4.9.51-yocto-standard
>>>>> needed by
>>>>> kernel-module-canopen-sync-4.9.51-yocto-standard-git-r0.2.neo_sirius
>>>>>
>>>>
>>>> It seems this modules is not built can you check if that’s the case ?
>>>> You might look for ipk or rpm in deploy area with this name
>>>>
>>>
>>> I have checked and module is built.
>>> In build/tmp/deploy/rpm/neo_sirius there's this file:
>>>
>>> kernel-module-xeno-can-4.9.51+ipipe+git0+0774eacea2_089d772038-r0.1.neo_sirius.rpm
>>>
>>
>> This has different version than what dep is asking for
>>
>
> Do you mean for subversion at the end (r0.1 / r0.2) or for the filename?
>
>
Ahh... OK now I understand. (PV)

In my kernel recipe there was setted:

LINUX_VERSION = 4.9.51-ipipe
PV = "${LINUX_VERSION}+git${SRCPV}"
KERNEL_MODULE_PACKAGE_SUFFIX = ""

With this config, yocto generate the follow PV on package filename:
-4.9.51+ipipe+git0+0774eacea2_089d772038

but all references in the relative RPM .spec file were wrong:
-4.9.51-yocto-standard

I believe it dangerours because image build works properly until you add a
recipes that have a kernel module as dependecy.

To solve this problem, I've deleted

KERNEL_MODULE_PACKAGE_SUFFIX = ""

I've changed to

LINUX_VERSION = 4.9
PV = 4.9.51

and I've added

LINUX_VERSION_EXTENSION = "-mainline-xenomai"

Regards,
Matteo


>
>>
>>>
>>>
>>>>
>>>>> ERROR: sirlinux4-image-qt4e-1.0-r0 do_rootfs: Function failed:
>>>>> do_rootfs
>>>>> ERROR: Logfile of failure stored in:
>>>>> /workspace/neo-sirius_sirlinux4/build/tmp/work/neo_sirius-poky-linux-gnueabi/sirlinux4-image-qt4e/1.0-r0/temp/log.do_rootfs.9126
>>>>> ERROR: Task
>>>>> (/workspace/neo-sirius_sirlinux4/meta-sirlinux/recipes-qt4/images/sirlinux4-image-qt4e.bb:do_rootfs)
>>>>> failed with exit code '1'
>>>>>
>>>>>
>>>>> I don't understand how exactly the modules dependencies works...
>>>>> Initially, I suppose that PROVIDES variable was updated automatically
>>>>> with the correct modules names when compiled like module from kernel but
>>>>> now, I don't know if I have to specify it manually or is there any other
>>>>> way?
>>>>>
>>>>> Regards,
>>>>> Matteo
>>>>>
>>>>> --
>>>>> _______________________________________________
>>>>> yocto mailing list
>>>>> yocto at yoctoproject.org
>>>>> https://lists.yoctoproject.org/listinfo/yocto
>>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190905/0f127cdc/attachment-0001.html>


More information about the yocto mailing list