New submission from Christian Heimes <li...@cheimes.de>:

The Makefile rules for frozen header files have a dependency on 
$(FREEZE_MODULE_BOOTSTRAP_DEPS) or $(FREEZE_MODULE_DEPS). For normal builds 
this dependency will trigger a refresh of the frozen header files when the byte 
code magic changes:

  FREEZE_MODULE_BOOTSTRAP_DEPS=Programs/_freeze_module
  FREEZE_MODULE_DEPS=_bootstrap_python

Both binaries depend on object files which indirectly have a dependency on all 
core header files $(PYTHON_HEADERS).

However cross builds use an external Python binary. Neither 
$(FREEZE_MODULE_BOOTSTRAP_DEPS) nor $(FREEZE_MODULE_DEPS) add an indirect 
dependency on $(PYTHON_HEADERS). The frozen header files are not rebuilt when 
any header file like opcode.h is modified. This causes hard to debug issues 
like https://bugs.python.org/issue46009#msg409770

Fix: all frozen header files should also depend on $(PYTHON_HEADERS)

----------
components: Cross-Build
messages: 409794
nosy: Alex.Willmer, christian.heimes, gvanrossum
priority: normal
severity: normal
status: open
title: frozen modules are not regenerated on bytecode magic change when cross 
building
type: behavior
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue46271>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to