python / python/cpython

Missing Build Dependence: _freeze_module.c

Offen
#118,253 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit make, nachdem das Dummy-Feld zu Include/cpython/initconfig.h hinzugefügt wurde, und untersuche den Build-Eintrag für Programs/_freeze_module.o sowie die Abhängigkeit von _freeze_module.c. Erledigt ist die Aufgabe, wenn ein zweites make das betroffene Ziel neu erstellt und erfolgreich abschließt, ohne Programs/_freeze_module.o manuell zu entfernen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.