recipe was skipped: incompatible with machine my-machine (not in COMPATIBLE_MACHINE)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

recipe was skipped: incompatible with machine my-machine (not in COMPATIBLE_MACHINE)

3,468 Views
arno_0
Contributor III

I have seen quite some post about that topic. The solution so far was to add my-machine to the compatible list of the recipe.

That indeed works but it required to modify ALL suffered recipes. That are quite a lot for enabling ML for my-machine. As example

tensorflow-lite-vx-delegate:

COMPATIBLE_MACHINE = "(^$)"
COMPATIBLE_MACHINE:imxgpu3d = "(mx8-nxp-bsp)"
COMPATIBLE_MACHINE:mx8mm-nxp-bsp = "(^$)"

or imx-gpu-viv:

COMPATIBLE_MACHINE = "(mx8-nxp-bsp)"

It works if would change my-machine to be "imx8mp-lpddr4-evk". But can't I simply declare my-machine to be compatible and so to be treated as the EVK board? What do I miss?

What is the magic behind that machine  imx8mp-lpddr4-evk gets accepted by the above COMPATIBLE_MACHINE test?

0 Kudos
Reply
2 Replies

3,421 Views
arno_0
Contributor III

Well, but either I don't get it or you misunderstood me. Sorry in both cases.

The recipes are written by freescale/nxp and contains the above mentioned lines. I understand that they should help speed up and not work for compatible machines.

If my machine has the name "my-machine" : what can I exactly do (in my layer, I won't change that from freescale) to let the recipes work for "my-machine" too. Simply speaking I thought I can declare "my-machine" to be compatible with (as for instance) "imx8mp-lpddr4-evk" - as it works for this one. Howto do so?

0 Kudos
Reply

3,436 Views
Harvey021
NXP TechSupport
NXP TechSupport

Hi @arno_0 

These descriptions from Yocto Project Reference Manual might bring helps.

A regular expression that resolves to one or more target machines with which a recipe is compatible. The regular expression is matched against MACHINEOVERRIDES. You can use the variable to stop recipes from being built for machines with which the recipes are not compatible. Stopping these builds is particularly useful with kernels. The variable also helps to increase parsing speed since the build system skips parsing recipes not compatible with the current machine.

 

Best regards

Harvey

0 Kudos
Reply