移植Python到arm linux系统

发布时间:2019-08-23 08:00:52编辑:auto阅读(1685)

    编译环境:ubuntu-12.0.4

    编译器:gcc arm-arago-linux-gnueabi

    Python版本:3.6.2

    Python安装包文件名:Python-3.6.2.tgz

     

    整个过程分为三大步骤:

    1. 直接编译python生成Python解释器

    2. 交叉编译python

    3. 复制可移植文件到arm文件系统


    具体步骤:

    1.将安装包复制到新建的文件目录下并解压

    解压命令: tar –zxvf Python-3.6.2.tgz

    2. 进入Python-3.6.2文件夹,执行:

    ./configure

    3.编译python Pareser/pgen ,生成Python解释器:

    make

    4.在Python-3.6.2目录下新建mylib文件夹,用于存放生成的可移植文件:

    命令:mkdir mylib

    5.配置交叉编译:

    ·     CC为指定C交叉编译器,我的是arm-arago-linux-gnueabi-gcc

    ·     CXX为指定C++交叉编译器,我的是arm-arago-linux-gnueabi-g++

    ·     ARar工具,我的是arm-arago-linux-gnueabi-ar

    ·     RANLIBranlib工具,我的是arm-arago-linux-gnueabi-ranlib

    ·     Host为目标主机,我这里设置的是arm-arago-linux-gnueabi

    ·     Build为编译环境主机,我的是i386

    ·     Prefix为安装位置

    配置命令:

    CC=arm-arago-linux-gnueabi-gccCXX=arm-arago-linux-gnueabi-g++ AR=arm-arago-linux-gnueabi-arRANLIB=arm-arago-linux-gnueabi-ranlib ./configure--host=arm-arago-linux-gnueabi --build=i386 --disable-ipv6ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --prefix=/home/forlinx/work/python/Python-3.6.2/mylib

    6.编译

    l HOSTPYTHON指定我们之前编译的X86版本的python文件

    l HOSTPGEN指定我们之前编译的X86版本的pgen文件

    编译命令:

    make HOSTPYTHON=./python HOSTPGEN=./Parser/pgenBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesHOSTARCH=arm-arago-linux-gnueabi BUILDARCH=i386

    7.安装

    安装命令:

    make install HOSTPYTHON=./pythonBLDSHARED="arm-arago-linux-gnueabi-gcc -shared"CROSS_COMPILE=arm-arago-linux-gnueabi- CROSS_COMPILE_TARGET=yesprefix=/home/forlinx/work/python/Python-3.6.2/mylib

    8.复制mylib目录下文件到arm文件系统

     最后会在prefix指定的目录下有新生成的文件和文件夹,主要文件夹是/bin,/include,/lib,/share。把他们都复制到目标机器的/usr目录下。最后在目标机上执行一下命令可以检查python环境是否完整。

    9.重新编译arm文件系统,并烧录到开发板验证。

关键字