Python 3.6 无法在 QEMU 中构建"failed to get random numbers to initialize Python"



我正在尝试在Linux上使用qemu构建Python。Python 2.7 工作得很好,没有问题,标准的构建过程。Python 3.6,相同的构建过程抛出如下错误:

./Programs/_freeze_importlib 
    ./Lib/importlib/_bootstrap.py Python/importlib.h
Fatal Python error: failed to get random numbers to initialize Python

所以我认为这是由于 qemu 没有/dev/random 或/dev/urandom?所以要么我想出如何向 qemu 添加随机,要么说服 Python 3.6 不需要它?

编辑:我正在尝试使用PYTHONHASHSEED来解决这个问题,但据我所知,它没有任何影响 - 我可以设置疯狂的值,如PYTHONHASHSEED=Jeff(这应该产生不同的错误),但没有区别。所以现在我认为是我不理解的 qemu 和环境变量。

好的 -

真正的答案是修复 QEMU - 结果证明这很容易:

mknod -m 444 /dev/random c 1 8
mknod -m 444 /dev/urandom c 1 9

Python3.6 现在正在构建 - 感谢您的观看!

最新更新