编译环境 Linux系统版本:Ubuntu-14.04.5 交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9
[size=12.0000pt]1. 下载python-2.7.3源码及补丁
2 将源码包及补丁包压缩包拷贝到虚拟机中,如下图所示
3 解压缩Python-2.7.3.tar.bz2。进入root用户,输入命令tar jxvf Python-2.7.3.tar.bz2。如下图所示
4 解压成功,进入Python2.7.3目录,如下图所示:
5 运行配置运行配置文件,生成必要的Makefile等文件,输入命令:#./configure
6 编译PC版python Parser/pgen。输入命令:#make python Parser/pgen
7 将生成的PC版移动至hostpython。输入命令:#mv python hostpython 8 将生成的PC版解释器移动至Parser/hostpgen。输入命令:#mv Parser/pgen Parser/hostpgen
9 清除不必要的文件。输入命令:#make distclean
10 将补丁解压,并将文件Python-2.7.3-xcompile.patch复制到python2.7.3目录下。 解压命令:unzip python27-arm-xcompile-master.zip
11 打补丁Python-2.7.3-arm-xcompile-master.zip。输入命令:#patch -p1 < Python-2.7.3-xcompile-master。
12 设置交叉编译工具链为arm-linux-gnueabihf,编译生成的执行文件存放目录为当前目录的_install文件夹。 在编译前先设置环境变量,执行 #export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/ PATH
./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ AR=arm-linux-gnueabihf-ar RANLIB=arm-linux-gnueabihf-ranlib LD=arm-linux-gnueabihf-ld NM=arm-linux-gnueabihf-nm --host=arm-linux --build=x86_64-linux --disable-ipv6,编译结果如下图
make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-linux-gnueabihf-gcc -shared" CROSS_COMPILE=arm-linux-gnueabihf- CROSS_COMPILE_TARGET=yes HOSTARCH=arm-linux BUILDARCH=x86_64-linux,如下图所示
make install HOSTPYTHON=./hostpython BLDSHARED="arm-linux-gnueabihf-gcc -shared" CROSS_COMPILE=arm-linux-gnueabihf CROSS_COMPILE_TARGET=yes prefix=$PWD/_install,如下图所示
13 在_install目录下,有四个子目录。 (1)将/_install/bin/目录下的所有文件复制到SAIL-IMX7D文件系统下的/usr/bin目录下 (2)将/_install/include/目录下的所有文件复制到SAIL-IMX7D文件系统下的/usr/include目录下 (3)将/_install/lib/目录下的所有文件复制到SAIL-IMX7D文件系统下的/usr/lib目录下 (4)将/_install/share/目录下的所有文件复制到SAIL-IMX7D文件系统下的/usr/share目录下 将SAIL-IMX7D文件系统压缩,压缩完成后拷贝到指定位置,给IMX7D核心板烧录文件系统。 14 打开超级终端,给开发板上电,启动,命令:python -V,若显示python版本则证明移植成功,如下图所示。
|