Python을 컴파일할 때 "make test"가 실패합니다.

Python을 컴파일할 때 "make test"가 실패합니다.

시뮬레이션된 Debian 7 ARM 시스템에서 Python 3.4.1을 컴파일했습니다. make testtest_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

또 다른 테스트인 test_io는 멈춥니다 make test.

무엇이 문제일까요?내 유일한 추측은 몇 가지 전제 조건이 누락되었다는 것입니다. 에 따르면 ./configure내 시스템에는 다음 헤더 파일이 없습니다.

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

답변1

Python의 핵심 언어 시스템필요일부 개발 패키지를 설치해야 합니다. Python의 "배터리 포함" 모듈 시스템에 있는 일부 모듈에는 추가 패키지가 필요하지만 해당 패키지가 설치되어 있지 않으면 모듈이 핵심 언어에 영향을 주지 않고 컴파일되지 않습니다(운이 좋으면 Falling back으로 돌아갈 수 있음) 순수한 Python 구현으로). 불행하게도 이러한 모듈에 대한 테스트는 항상 모듈 가용성을 확인하지 않으며 실행에 실패한 테스트를 정상적으로 무시합니다.

추가 기능 모듈을 컴파일하고 테스트하기 전에 먼저 대상 전자책 시스템에 필요한 것이 무엇인지 확인해야 합니다. 대상 시스템에 블루투스나 멀티프로세싱과 같은 기능이 필요한지 의심스럽습니다. 그런데 왜 이를 사용하지 않고 교차 개발 시스템에서 실행하는 데 시간을 소비합니까?

관련 정보