0

In my Yocto mickledore image, I need python 3.12. Yocto mickledore has only python 3.11 included, so I have copied meta/recipes-devtools/python/* from openembedded layer scarthgap branch to my own mickledore layer. I have also configured PREFERRED_VERSION_python3 = "3.12.%" in my local.conf. But then I have got

WARNING: preferred version 3.12.% of python3 not available (for item python3-distutils)
WARNING: versions of python3 available: 3.11.5
WARNING: preferred version 3.12.% of python3 not available (for item python3-smtpd)
WARNING: versions of python3 available: 3.11.5
WARNING: preferred version 3.12.% of python3 not available (for item python3-distutils-windows)
WARNING: versions of python3 available: 3.11.5

...

ERROR: Multiple versions of python3 are due to be built (/home/***/yocto/***/recipes-python/packages-python3.12/python3_3.12.11.bb /home/***/yocto/layers/poky/meta/recipes-devtools/python/python3_3.11.5.bb). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_python3 to select the correct version or don't depend on multiple versions.

I know distutils was removed from python 3.12, but some recipes probably still depends on it. Is here some way to investigate dependency chains and fix incompatible recipes?

4
  • Probably grep and find will be your best friends. But I'd really consider updating to newer Yocto in your case. Normally that's better than being in some Dependency hell Commented Jun 17 at 20:35
  • 1
    @Mo_, I have tried newer yocto branch, but it has it's own problems. For example newer kernel is larger and I'm not able make it under 8MB, even if I disable/configure as module as much as I can. And u-boot in default can't boot kernel larger than 8MB and it is problem, because of compatibility with older versions in case of live update...basically trap after trap... Commented Jun 18 at 7:19
  • Tough one. If I were you, I'd try to get the time (/convince your manager to allow you) to make it work with newer versions. If you want to fix distutils, grep -r distutils your-layer-dir/ is easiest. I only get 50 results for poky, should be doable to check manually Commented Jun 18 at 7:25
  • Although the WARNINGS doesnt looks like serious one to me, one workaround that you could adopt is move to the newer brach but use the old kernel. Commented Jun 23 at 10:13

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.