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

> 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> <zboszor=
> [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


The information needs to be distilled into your commit, not left
to the patch reader to go off and read release notes. That's the
point I'm trying to make.


>
>
> 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.
>

Definitely worth putting in the RFC as well, the motivation for
the change matters!



>
> > 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.
>

Ack'd

Bruce



>
> >
> > 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
> >
>
>

-- 
- 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 (#233917): 
https://lists.openembedded.org/g/openembedded-core/message/233917
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