编译环境 Linux系统版本:Ubuntu-14.04.5 交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9 1. 下载python-2.7.3源码及补丁 下载python源码包 http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.xz 下载对应版本的补丁包https://github.com/sjkingo/python27-arm-xcompile/tree/master/files 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版本则证明移植成功,如下图所示。
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|