python / python/cpython

Missing Build Dependence: _freeze_module.c

Aberta
#118,253 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

type-bug
Linguagem predominante
Python
Estrelas
77.2k
Forks
35.9k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza o problema com make depois de adicionar o campo dummy a Include/cpython/initconfig.h e, em seguida, inspecione a entrada de build de Programs/_freeze_module.o e a dependência de _freeze_module.c. Considera-se concluído quando um segundo make recompila o alvo afetado e é concluído com sucesso sem remover manualmente Programs/_freeze_module.o.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
build-system
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.