1、linux主机:Ubuntu14.04

2、嵌入式linux内核版本:3.14.26

3、嵌入式硬件:M6GxC  Cortex-A7内核

4、交叉编译工具: gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux(arm-linux-gnueabihf-gcc)

步骤:

1.官网下载python-2.7.13

2.进入到python-2.7.13目录,先编译虚拟机版本x86_64版本:

  1. ./configure

  2. make python Parser/pgen

  3. mv python hostpython

  4. mv Parser/pgen Parser/hostpgen

  5. make distclean

3.接下来开始编译ARM版本,提前需要下载:

Python-2.7.13-compile.patch.tar.gz

解压缩补丁文件并给源码打补丁,进入源码目录,执行:

         patch -p1 < ../Python-2.7.13-xcompile.patch

4、先建立一个文件夹用来存放编译出来的文件:

         mkdir ../INSTALL

5、为了方便测试和编译,新建三个脚本文件并赋予执行权限,三个脚本文件分别为mk_conf.sh,

mk_make.sh,mk_install.sh,内容分别如下:

mk_conf.sh内容如下:

  1. #!/bin/sh

  2. ./configure --host=arm-linux-gnueabihf --prefix=$PWD/../INSTALL \

  3. --build=x86_64-linux-gnu \

  4. --enable-ipv6 \

  5. --enable-shared \

  6. ac_cv_file__dev_ptmx="yes" \

  7. ac_cv_file__dev_ptc="no"

mk_make.sh内容如下:

  1. #!/bin/sh

  2. make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen \

  3. BLDSHARED="arm-linux-gnueabihf-gcc -shared" \

  4. CROSS_COMPLIE=arm-linux-gnueabihf- \

  5. CROSS_COMPLIE_TARGET=yes \

  6. HOSTARCH=arm-linux-gnueabihf \

  7. BUILDARCH=x86_64-linux-gnu \

  8. -j2

mk_install.sh内容如下:

  1. #!/bin/sh

  2. make install HOSTPYTHON=./hostpython \

  3. BLDSHARED="arm-linux-gnueabihf-gcc -shared" \

  4. CROSS_COMPILE=arm-linux-gnueabihf- \

  5. CROSS_COMPILE_TARGET=yes \

  6. prefix=$PWD/../INSTALL

赋予三个脚本文件执行权限:

           chmod +x mk_conf.sh mk_make.sh mk_install.sh

6、分别执行三个脚本文件:

        ./mk_conf.sh./mk_make.sh./mk_install.sh

在执行 mk_conf.sh:如果报错,手动执行以下指令:

a.  mkdir config.site:

  1. ac_cv_file__dev_ptmx="yes" \

  2. ac_cv_file__dev_ptc="no"

CONFIG_SITE=config.site ./configure CC=arm-linux-gnueabihf-gcc CXX=aarm-linux-gnueabihf-g++ --host=arm-linux --build=x86_64-linux --prefix=$PWD/../INSTALL --disable-ipv6

在执行mk_install.sh时,如果出现如下错误:(第2部如果全编译的话不会出现下面的错误)

我的解决办法是在Makefile文件中找到并删除PYTHONPATH赋值部分,如下图:

删除PYTHONPATH赋值部分后的结果如下图:

之后再执行 :

          ./mk_install.sh

就会在INSTALL文件中得到四个文件夹,将bin,include,lib内的文件分别复制到嵌入式系统中,

就完成了安装。

python2.7.13交叉编译移植到arm相关推荐

  1. 交叉编译Python-2.7.13到ARM(aarch32)平台

    作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...

  2. apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2

    话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...

  3. 基于Hi3516DV300rtmp交叉编译移植

    基于Hi3516DV300rtmp交叉编译移植 其实自己不太会写甚么博客,或者方法的,所以导致自己开发完一些功能后,后续再去看自己写的代码,去配置相关的功能也好,总是需要花费挺长时间重新回忆起来. 废 ...

  4. Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本

    Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...

  5. 如何交叉编译 移植 QT

    2019独角兽企业重金招聘Python工程师标准>>> QT简介就不多说了,是诺基亚的东东,需求:将QT移植到ARM开发环境 首先的准备工作: Linux环境: Linux 2.6. ...

  6. Opencv3.2移植到arm板

    注:博客中有些图片部分为了省事,借用了别人博客的图片,相关部分注意事项相同.若有侵权,请联系删除! 一,Opencv3.2移植到arm Opencv3.2 ubuntu16.04 目标板:飞凌嵌入式i ...

  7. wxX11移植到arm板上

    [原]移植wxX11到开发板上 2012-5-18阅读467 评论0 最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X" ...

  8. RV1109开发板ssh服务器移植到arm开发板

    RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...

  9. I.MX6ULL开发板基于阿里云项目实战 3 :阿里云iot-SDK 移植到arm开发板

    上一篇博客讲的是创建产品和设备,本讲,我们将阿里云iot-SDK 移植到arm开发板. 参考资料: https://code.aliyun.com/edward.yangx/public-docs/w ...

最新文章

  1. dataframe多列合并成一列
  2. 理解面向过程和面向对象的程序设计方法
  3. 网购时碰到这种卖家操作,一定要记得,否则损失很大
  4. SQL高级查询(层次化查询,递归)
  5. C#中StringBuilder类的使用
  6. 单链表 操作的18种算法
  7. mysql数据库性能指标结果_MySQL数据库性能优化的关键参数(转)
  8. Spring 全局异常捕获
  9. Docker 资源限制之内存
  10. Java后端知识---数据结构(1)
  11. 计算机病毒教学评课,计算机病毒评课稿.docx
  12. Solaris 11.4安装,映像包管理系统(IPS)搭建
  13. linux使用163的yum源配置
  14. 用计算机pol计算方位角,怎样用科学计算器算坐标方位角
  15. fx5u模拟量如何读取_三菱fx5u模拟量输入接线
  16. 迁移学习和finetune的区别及迁移学习代码实现
  17. Exchange 暴力破解与防范
  18. KTV项目之3个ListView的跳转和加载歌手图片
  19. 宝塔如何安装多版本php,安装Lnmp(多PHP版本与宝塔)
  20. 学习-Java继承和多态之方法重载

热门文章

  1. 【Linux】网络基础(1)
  2. 基于springboot+vue的便利店库存管理系统
  3. 使用python查看图片数据
  4. Node.js学习笔记——Express篇(1.初识Express)
  5. 在写xml文件是遇到问题:必须声明元素 configuration
  6. 使用Matlab-仿真雷达信号处理系统
  7. UE5笔记【一】安装、第一个关卡:光线、原点、平面;光线、天空、云朵;内容抽屉;运动控制;
  8. python抢购脚本教程_Python茅台抢购脚本的使用说明!!
  9. 中国手游如何复制“糖果”传奇?
  10. 大三暑期去上海亚信实习日记