openwrt で python3.9 をコンパイルするにはどうすればいいですか?

openwrt で python3.9 をコンパイルするにはどうすればいいですか?

Debian で python3.9 をコンパイルするのは簡単です:

    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
    wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
    tar -xf Python-3.9.1.tgz
    cd Python-3.9.1
    ./configure --enable-optimizations
    #nproc value is 4 in my pc platform
    make -j 4
    sudo make altinstall

python3.9 をコンパイルして openwrt にインストールするにはどうすればいいですか?

root@OpenWrt:~# cat /etc/banner
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.7, r11306-c4a6851c72
 -----------------------------------------------------
root@OpenWrt:~# uname -a
Linux OpenWrt 4.14.221 #0 SMP Mon Feb 15 15:22:37 2021 x86_64 GNU/Linux
root@OpenWrt:~# python3
Python 3.7.10 (default, May 28 2021, 13:26:31) 
[GCC 7.5.0] on linux

一部のソフトウェアでは Python 3.8 以上が必要なので、python3.9 をコンパイルしたいです。

答え1

対象とする OpenWRT のリリース用の SDK をダウンロードし、Python 用の Makefile を変更して、SDK を使用して Python をコンパイルします。

セットアップ手順については、こちらをご覧ください:https://openwrt.org/docs/guide-developer/using_the_sdk

SDK をインストールしたら、python3 の Makefile を変更します (python を 3.9.5 に更新するためにマージされた PR の例を次に示します)。https://github.com/openwrt/packages/pull/15586/commits/e312275dd9c25c4032b4d2d3623b042905c8bf16

次に、 のようなコマンドを使用してパッケージをコンパイルできるようになり、 SDK のフォルダーmake package/python3/compile V=scにインストール可能な IPK が作成されます。bin

関連情報