python2.7.13交叉编译移植到arm
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版本:
./configure
make python Parser/pgen
mv python hostpython
mv Parser/pgen Parser/hostpgen
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内容如下:
#!/bin/sh
./configure --host=arm-linux-gnueabihf --prefix=$PWD/../INSTALL \
--build=x86_64-linux-gnu \
--enable-ipv6 \
--enable-shared \
ac_cv_file__dev_ptmx="yes" \
ac_cv_file__dev_ptc="no"
mk_make.sh内容如下:
#!/bin/sh
make HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen \
BLDSHARED="arm-linux-gnueabihf-gcc -shared" \
CROSS_COMPLIE=arm-linux-gnueabihf- \
CROSS_COMPLIE_TARGET=yes \
HOSTARCH=arm-linux-gnueabihf \
BUILDARCH=x86_64-linux-gnu \
-j2
mk_install.sh内容如下:
#!/bin/sh
make install HOSTPYTHON=./hostpython \
BLDSHARED="arm-linux-gnueabihf-gcc -shared" \
CROSS_COMPILE=arm-linux-gnueabihf- \
CROSS_COMPILE_TARGET=yes \
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:
ac_cv_file__dev_ptmx="yes" \
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相关推荐
- 交叉编译Python-2.7.13到ARM(aarch32)平台
作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...
- apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2
话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...
- 基于Hi3516DV300rtmp交叉编译移植
基于Hi3516DV300rtmp交叉编译移植 其实自己不太会写甚么博客,或者方法的,所以导致自己开发完一些功能后,后续再去看自己写的代码,去配置相关的功能也好,总是需要花费挺长时间重新回忆起来. 废 ...
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本 首先参考http://wiki.chumby.com/index.php?title=Lua&print ...
- 如何交叉编译 移植 QT
2019独角兽企业重金招聘Python工程师标准>>> QT简介就不多说了,是诺基亚的东东,需求:将QT移植到ARM开发环境 首先的准备工作: Linux环境: Linux 2.6. ...
- Opencv3.2移植到arm板
注:博客中有些图片部分为了省事,借用了别人博客的图片,相关部分注意事项相同.若有侵权,请联系删除! 一,Opencv3.2移植到arm Opencv3.2 ubuntu16.04 目标板:飞凌嵌入式i ...
- wxX11移植到arm板上
[原]移植wxX11到开发板上 2012-5-18阅读467 评论0 最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X" ...
- RV1109开发板ssh服务器移植到arm开发板
RV1109开发板ssh服务器移植到arm开发板 ssh功能移植到RV1109开发板的,由于RV1109的SDK中,没有telnet功能,有时候adb功能在量产中需要关闭,避免造成设备留有漏洞,造成安 ...
- I.MX6ULL开发板基于阿里云项目实战 3 :阿里云iot-SDK 移植到arm开发板
上一篇博客讲的是创建产品和设备,本讲,我们将阿里云iot-SDK 移植到arm开发板. 参考资料: https://code.aliyun.com/edward.yangx/public-docs/w ...
最新文章
- dataframe多列合并成一列
- 理解面向过程和面向对象的程序设计方法
- 网购时碰到这种卖家操作,一定要记得,否则损失很大
- SQL高级查询(层次化查询,递归)
- C#中StringBuilder类的使用
- 单链表 操作的18种算法
- mysql数据库性能指标结果_MySQL数据库性能优化的关键参数(转)
- Spring 全局异常捕获
- Docker 资源限制之内存
- Java后端知识---数据结构(1)
- 计算机病毒教学评课,计算机病毒评课稿.docx
- Solaris 11.4安装,映像包管理系统(IPS)搭建
- linux使用163的yum源配置
- 用计算机pol计算方位角,怎样用科学计算器算坐标方位角
- fx5u模拟量如何读取_三菱fx5u模拟量输入接线
- 迁移学习和finetune的区别及迁移学习代码实现
- Exchange 暴力破解与防范
- KTV项目之3个ListView的跳转和加载歌手图片
- 宝塔如何安装多版本php,安装Lnmp(多PHP版本与宝塔)
- 学习-Java继承和多态之方法重载
热门文章
- 【Linux】网络基础(1)
- 基于springboot+vue的便利店库存管理系统
- 使用python查看图片数据
- Node.js学习笔记——Express篇(1.初识Express)
- 在写xml文件是遇到问题:必须声明元素 configuration
- 使用Matlab-仿真雷达信号处理系统
- UE5笔记【一】安装、第一个关卡:光线、原点、平面;光线、天空、云朵;内容抽屉;运动控制;
- python抢购脚本教程_Python茅台抢购脚本的使用说明!!
- 中国手游如何复制“糖果”传奇?
- 大三暑期去上海亚信实习日记