Skip to content

Bootstrapping python3.13 with JIT enabled appears to require pre-built python3 #124967

@xnox

Description

@xnox

Documentation

At https://devguide.python.org/getting-started/setup-building/#avoid-recreating-auto-generated-files

it is stated that whilst some auto-generated files do require python, they are prebuild by default in git and tarballs such that one can build python without pre-existing python.

Attempting to do a build of python3.13 rc3 without a pre-existing python results in this build failure, and with JIT enabled to "yes-off"

...
2024/10/04 01:26:24 INFO checking for Python interpreter freezing... ./_bootstrap_python name=Configure
2024/10/04 01:26:24 INFO checking for python3.13... no name=Configure
2024/10/04 01:26:24 INFO checking for python3.13... no name=Configure
2024/10/04 01:26:24 INFO checking for python3.12... no name=Configure
2024/10/04 01:26:24 INFO checking for python3.11... no name=Configure
2024/10/04 01:26:24 INFO checking for python3.10... no name=Configure
2024/10/04 01:26:24 INFO checking for python3... no name=Configure
2024/10/04 01:26:24 INFO checking for python... no name=Configure
2024/10/04 01:26:24 INFO checking Python for regen version... missing name=Configure
...
2024/10/04 01:26:25 INFO checking for --enable-experimental-jit... -D_Py_TIER2=3 -D_Py_JIT name=Configure
...
2024/10/04 01:27:01 INFO python3 ./Tools/jit/build.py x86_64-pc-linux-gnu uses=autoconf/make
2024/10/04 01:27:01 WARN /bin/sh: python3: not found uses=autoconf/make
...

Does building with JIT require python3 to be available? Can bootstrap python be used?

Note, golang & gcc for example build themselves multiple times (3 stage bootstrap). It would be convenient if python build system could "--enable-bootstrap" such that after bootstrap-python a more full python is built; which is then used to perform final build with ability to regenerate generated code and build with JIT.

Any improvements to documentation w.r.t. installing dependencies, or how to do a throw-away temporary build without reggenerating files and without JIT, and reuse that python to build final build would be nice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-builddocsDocumentation in the Doc dirtopic-JIT

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions