2026. 03. 25. 14:17 keltezéssel, Bruce Ashfield írta:


On Wed, Mar 25, 2026 at 9:13 AM Böszörményi Zoltán <[email protected]> wrote:

    2026. 03. 25. 14:01 keltezéssel, Bruce Ashfield írta:
    >
    >
    > On Wed, Mar 25, 2026 at 7:31 AM Zoltan Boszormenyi via 
lists.openembedded.org
    <http://lists.openembedded.org>
    > <http://lists.openembedded.org> 
<[email protected]> wrote:
    >
    >     This patchset allows turning on Python freethreading by using
    >     a new DISTRO_FEATURES setting:
    >
    >     DISTRO_FEATURES += "python_freethreading"
    >
    >     and optionally:
    >
    >     DISTRO_FEATURES_NATIVE += "python_freethreading"
    >
    >     The change to python3-dir.bbclass is crucial, as all python module
    >     build helper classes rely on it.
    >
    >     I also added native variants of some settings because another
    >     series against meta-openembedded is needed to complete this one.
    >     In that, the change to the fontforge recipe relies on the native
    >     setting for setting BUILD_LDFLAGS.
    >
    >
    > Looking at those other patches in the series, they don't seem to
    > be conditional on the distro feature.
    >
    > Are those changes valid for a build with and without freethreading ?

    Yes!

    The main change is in python3-dir.bbclass, and the recipe tweaks
    are just adaptations to the fact that only ${PYTHON_DIR} is needed,
    not ${PYTHON_DIR}${PYTHON_ABI} from that point.

    I was thinking that the introductory mail stressed this enough.


Obviously not :)

Obviously. :)

I didn't get that impression at all from reading the introductory
message or looking at the patches themselves.

You have the overview knowledge of the feature, why it is
useful, how it impacts existing recipes, how the migration would
work, what is the compatibility, etc.

I think the Python 3.14 release notes has enough details.
See also https://www.phoronix.com/news/Python-3.14

With the two series I sent, only a single recipe is left (cmpi-bindings)
in openembedded-core and meta-openembedded that uses
the PYTHON_ABI setting explicitly.

Migration (of python scripts) should not be a problem.
If it worked with 3.14 as is, it works with freethreading enabled.

Compatibility is poor for a lot of modules, that clearly spell this out
in their pyproject.toml or PKG-INFO:

    "Programming Language :: Python :: Free Threading :: 1 - Unstable"

or something not quite production level support.
It's still experimental for 3rd party modules, despite being officially
supported for the interpreter and built-in modules in 3.14.

This is the reason this was an RFC series.

Anyway, the reason I was experimenting with this was that
with heavily threaded python code, an import storm can cause
a crash in 3.12.11 or the manually updated 3.13.12 in Yocto 5.3 in
importlib._bootstrap according to the backtrace.

I would like to see if Python 3.14 (with and without freethreading)
fixes such crashes.

The patch reader doesn't, so that all needs to be clearly
supplied.

Maybe next time for v2 after I have a complete image
successfully built with freethreading enabled.


Bruce



    FWIW, less than 30 recipes was spelling the latter out in
    openembedded-core and meta-openembedded combined.

    > That's the type of information, along with the benefits of enabling
    > this would be information expected in a 0/N introductory patch.
    >
    > Cheers,
    >
    > Bruce
    >
    >
    >     All of the changes included here were successfully build tested,
    >     except for the gdb-cross-canadian change. That one failed, but
    >     it's included for completeness.
    >
    >     Quite a few of python modules were build tested for native and
    >     target builds, including python3-pytorch from my meta-python-ai
    >     with reduced RDEPENDS because e.g. python3-onnx there failed
    >     to build with freethreading enabled.
    >
    >     All in all, this series at least allows to get things going.
    >     Though maybe not for Yocto 6.0, as it's quite late.
    >
    >     Best regards,
    >     Zoltán Böszörményi
    >
    >     
    >
    >
    >
    > --
    > - Thou shalt not follow the NULL pointer, for chaos and madness await 
thee at its end
    > - "Use the force Harry" - Gandalf, Star Trek II
    >



--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at 
its end
- "Use the force Harry" - Gandalf, Star Trek II


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#233916): 
https://lists.openembedded.org/g/openembedded-core/message/233916
Mute This Topic: https://lists.openembedded.org/mt/118499141/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to