Re: [OE-core][PATCH 0/5 v2] python3: upgrade 3.13.9 -> 3.14.2

Alexander Kanavin
2025-12-22T19:33:24Z

On Mon, 22 Dec 2025 at 19:36, Trevor Gamblin via
lists.openembedded.org <tgamblin=baylibre.com@lists.openembedded.org>
wrote:
> > Testing 'maturin develop' requires Rust cross-canadian in the SDK
> > Traceback (most recent call last):
> > File "/srv/pokybuild/yocto-worker/qemux86/build/layers/openembedded-core/meta/lib/oeqa/sdk/cases/maturin.py", line 30, in test_maturin_list_python
> > self.assertIn(expected, output)
> > ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
> > AssertionError: '3.14 at /srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/buildtools/sysroots/x86_64-pokysdk-linux/usr/bin/python3' not found in '🐍 1 python interpreter found:\n - CPython 3.13 at /srv/pokybuild/yocto-worker/qemux86/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/bin/python3.13\n'
> > ...
> > RESULTS - maturin.MaturinTest.test_maturin_list_python: FAILED (3.57s)
> I'm not sure how to address this one - it looks like the problem is that
> the buildtools tarball has a 3.13.4 binary in it (at least when I try
> locally). Where does that get updated?

I think the problem is not in the buildtools. This is the test:

def test_maturin_list_python(self):
out = self._run(r"""python3 -c 'import sys;
print(f"{sys.executable}\n{sys.version_info.major}.{sys.version_info.minor}")'""")
executable, version = out.splitlines()

output = self._run("maturin list-python")
# The output looks like this:
# - CPython 3.13 at /usr/bin/python3
# We don't want to assume CPython so just check for the
version and path.
expected = f"{version} at {executable}"
self.assertIn(expected, output)

So first 'python3' executable from the SDK reports its version (which
says 3.14 as it should be). Then 'maturin list-python' runs, and for
some reason it falls through to (or is executed with) earlier python3
from the buildtools on the host, which doesn't seem correct, as
maturin should be run by python3 from the SDK, and report that.

I also wonder why this hasn't been seen previously, as build hosts
have all kinds of python versions installed. CC Ross, Tim.

Alex