移植Python到arm-linux系统
移植Python到arm linux系统
**编译环境:
ubuntu-12.0.4**
编译器:gcc
arm-arago-linux-gnueabi
**Python
版本:
3.6.2**
Python **安装包文件名:
Python-3.6.2.tgz**
整个过程分为三大步骤:
直接编译
python
, 生成Python解释器
交叉编译
python
- 复制可移植文件到arm文件系统
具体步骤:
1.将安装包复制到新建的文件目录下并解压
解压命令: tar –zxvf Python-3.6.2.tgz
- 进入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++
·
AR
为
ar
工具,我的是
arm-arago-linux-gnueabi-ar
·
RANLIB
为
ranlib
工具,我的是
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文件系统,并烧录到开发板验证。