This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author hroncok
Recipients eric.snow, hroncok, petr.viktorin, vstinner
Date 2021-11-22.12:44:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1637585097.15.0.883412008716.issue45866@roundup.psfhosted.org>
In-reply-to
Content
It also seems that it is *not* necessary to use Python 3.11 for regen-frozen to get the failure:

$ make regen-frozen PYTHON_FOR_REGEN=python3.10
python3.10 ../../Tools/scripts/freeze_modules.py
ERROR: missing _freeze_module
make: *** [Makefile:1259: regen-frozen] Error 1

$ make regen-frozen PYTHON_FOR_REGEN=python3.9
python3.9 ../../Tools/scripts/freeze_modules.py
ERROR: missing _freeze_module
make: *** [Makefile:1259: regen-frozen] Error 1


My guess is that the fix for test_tools.test_sundry() actually broke the real usage. It has:

        # When building out of the source tree, get the tool from directory
        # of the Python executable
        TOOL = os.path.dirname(sys.executable)
        TOOL = os.path.join(TOOL, 'Programs', '_freeze_module')

But sys.executable is *not* the Python we have built, but the Python we use for regen.
E.g. when Python for regen is /usr/bin/python3.X, it tries to use /usr/bin/Programs/_freeze_module which obviously is not there.

The assumption that sys.executable is the freshly built Python is only correct in the tests, but not in reality.
History
Date User Action Args
2021-11-22 12:44:57hroncoksetrecipients: + hroncok, vstinner, petr.viktorin, eric.snow
2021-11-22 12:44:57hroncoksetmessageid: <1637585097.15.0.883412008716.issue45866@roundup.psfhosted.org>
2021-11-22 12:44:57hroncoklinkissue45866 messages
2021-11-22 12:44:57hroncokcreate