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 Webサイトのサポートページはあまり役に立ちません(https://wiki.python.org/moin/BuildStatically)。

最後に、Androidを実行できるすべてのプロセッサプラットフォーム(arm32、aarm64、x86_x64、mips、mipsx64...)に対してPython 3.6.5をコンパイルし、完了したらバイナリで終了したい(次の作業を繰り返します)。 arm32を使用して他のすべてのアーチ)。

したがって、出力には複数のファイル/フォルダではなく、参照されたスキーマごとに1つのファイルがあります。静的な方法で外部ライブラリへの依存関係を避けます。私はビルドを選択しましたが、それほど危険で単純な他の解決策がある場合はそれを受け入れます。

注:デフォルトでは、すべてのコマンドラインはルートセッションのLXTerminalを介して行われます。

助けてくれてありがとう。

関連情報