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に戻ることができます)。実装として)。残念ながら、これらのモジュールのテストは常にモジュールの可用性をチェックせず、実行に失敗したテストを通常無視します。

アドインモジュールをコンパイルしてテストする前に、まずターゲット電子ブックシステムに必要なものを確認する必要があります。ターゲットシステムにBluetoothやマルチプロセッシングなどの機能が必要かどうか疑問です。しかし、なぜそれを使用せずにクロス開発システムで実行するのに時間を費やすのですか?

おすすめ記事