为 ARM 编译静态 Python 3.6.5 二进制文件

为 ARM 编译静态 Python 3.6.5 二进制文件

我正在尝试在 Debian 9.4 x64 上为 Android 编译静态 Python 3.6.5 二进制文件(例如 arm32、arm64,...)。

我不确定使用哪个库为arm和mips处理器构建Python 3.6.5,现在我使用“binutils-gold-2.29.1-16.1.armv7hl.rpm”,但如果另一个rpm更适合这种用法请告诉我哪一个采取。

  • 我尝试使用以下命令编译二进制文件:
    • ./configure --build=arm --prefix="$PWD"/out LDFLAGS="-static -static-libgcc -Wl,--unresolved-symbols=ignore-all -Wl,--export-dynamic" CPPFLAGS=-static CXXFLAGS=-static CFLAGS="-Os -static" LDFLAGS=-static LD=ld.gold
  • 编辑:然后输入以下内容:make clean; make install
  • 我收到这个错误:
    • FIG_H -DUSE_PYEXPAT_CAPI -c ./Modules/expat/xmlparse.c -o Modules/xmlparse.o
    • ./Modules/expat/xmlparse.c:92:3: error: #error You do not have support for any sources of high quality entropy enabled.
    • error \
    • .Makefile:1874 : the recipe for the target « Modules/xmlparse.o » as failed
    • make: *** [Modules/xmlparse.o] Erreur 1

我正在尝试找到如何修复此错误,但不幸的是 Python 网站上的支持网页不是很有帮助(https://wiki.python.org/moin/BuildStatically)。

最后,我想为 Android 可以运行的所有处理器平台(arm32、aarm64、x86_x64、mips、mipsx64...)编译 Python 3.6.5,最终获得一个二进制文件(我将重复以下任务)当我用arm32完成所有其他拱门时)。

因此,每个引用的架构都有一个文件,而不是输出中的多个文件/文件夹。以静态方式避免与外部库的任何依赖。我选择执行构建操作,但如果存在其他危险性较小且更简单的解决方案,我会接受。

注意:默认情况下,所有命令行都是通过 root 会话上的 LXTerminal 进行的。

预先感谢您的帮助。

相关内容