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를 사용하여 다른 모든 아치).

따라서 출력에 여러 파일/폴더가 아닌 참조된 스키마당 하나의 파일이 있습니다. 정적 방식으로 외부 라이브러리에 대한 종속성을 피하십시오. 저는 빌드를 선택했지만 덜 위험하고 간단한 다른 솔루션이 있다면 이를 수락하겠습니다.

참고: 기본적으로 모든 명령줄은 루트 세션의 LXTerminal을 통해 이루어집니다.

도움을 주셔서 미리 감사드립니다.

관련 정보