Missing Build Dependence: _freeze_module.c
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 36k
- PR merge metrics
- PR metrics pending
Description
Bug report
Bug description:
Build CPython by running "make".
Then a dummy pointer field to the end of struct PyConfig in Include/cpython/initconfig.h:
void *dummy;
Then, run "make" again. This time, you'll get a weird error from _freeze_module run as part of the build. Exactly what error you get will depend on how much you change the size of struct PyConfig and the system you're on. On my Linux system, sometimes it gave me an error about attempting to open() NULL (because the stack variable "inpath" from main() in _freeze_module.c was clobbered). Sometimes it gave me a path error.
Remove Programs/_freeze_module.o. Run "make" again. Marvel as this time make succeeds.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with make after adding the dummy field to Include/cpython/initconfig.h, then inspect the build entry for Programs/_freeze_module.o and the _freeze_module.c dependency. Done means a second make rebuilds the affected target and succeeds without manually removing Programs/_freeze_module.o.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100