“make test” falhou ao compilar o Python

2

Eu compilei o Python 3.4.1 em um sistema Debian 7 ARM emulado. make test falhou em test_multiprocessing_fork:

FAIL: test_semaphore_tracker (test.test_multiprocessing_fork.TestSemaphoreTracker)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/root/sources/python3-3.4.1/Lib/test/_test_multiprocessing.py", line 3667, in test_semaphore_tracker
    _multiprocessing.sem_unlink(name2)
AssertionError: OSError not raised

Outro teste, test_io, simplesmente congela o make test .

Qual poderia ser o problema? Meu único palpite é que eu perdi algum pré-requisito. De acordo com ./configure , eu não tenho esses arquivos de cabeçalho no meu sistema:

minix/config.h
conio.h
direct.h
ieeefp.h
io.h
process.h
sys/devpoll.h
sys/audioio.h
sys/bsdtty.h
sys/event.h
sys/kern_control.h
sys/loadavg.h
sys/lock.h
sys/mkdev.h
sys/modem.h
sys/sys_domain.h
sys/termio.h
libutil.h
bluetooth.h
bluetooth/bluetooth.h
util.h
sys/endian.h
time.h that defines altzone
    
por Marco Sulla 27.07.2014 / 22:09

1 resposta

1

O sistema de linguagem principal do Python requer que certos pacotes de desenvolvimento sejam instalados. Alguns módulos que fazem parte do sistema de módulos "baterias incluídas" do Python requerem pacotes adicionais, mas se você não tiver esses pacotes instalados, esses módulos não serão compilados sem afetar a linguagem principal (e se você tiver sorte, volte para um implementação pura do Python). Infelizmente, os testes para esses módulos nem sempre verificam a disponibilidade do módulo e ignoram o teste que não pode ser executado.

Você deve realmente olhar primeiro para o que você precisa no sistema de e-book alvo, antes de tentar compilar e testar os módulos adicionais. Duvido que você precise de coisas como bluetooth ou multiprocessamento no sistema de destino, então por que gastar tempo para executá-los no sistema de desenvolvimento cruzado e depois não usá-los?

    
por 28.07.2014 / 08:59