redhat enterprise 6.1 平台制作 arm-none-linux-gnueabi交叉编译工具莲

来源:互联网 发布:java测试面试题及答案 编辑:程序博客网 时间:2024/04/27 22:07

本文比较适合读者:初学者

目的:得到arm-none-linux-gnueabi 的编译工具:gcc g++ as ar ld .....

编译平台:redhat enterprise 6.1

需要更新原有软件(gcc ,glibc 依赖的工具),下面是已更新版本

ppl-0.11.1

cloog-ppl-0.15.11

gmp-5.0.0

mpfr-3.0.0

mpc-1.0


该版本交叉编译工具用到的软件

binutils-2.21.0

gcc-4.6.1

glibc-2.16.0

glibc-ports-2.16.0


简单的原理:该工具是由其他主机编译的,所以必须依赖安装在其他主机的一些工具和一些没有安装在这类主机到软件工具,然后经过不同到配置得到我们想要到工具。

准备工具的思路:由顶到底,由最上层决定用哪些版本到软件

制作的流程思路:由底往上,把环境基础打好了再编译。


版本选择是比较重要的一步,如果选择不好后面编译出来到问题会比较难处理。

如何确定软件的版本

glibc 源码目录下面的INSTALL 对软件的版本要求做了说明对gcc , binutils , make, texinfo awk, perl ,sed 等有版本要求

gcc 源码子目录INSTALL有个prerequisites.html需要用浏览器打开,可以看到对用到到库GMP, MPFR,MPC,PPL,CLOOG-PPL有要求,                

glibc-ports这个东西是对支持ARM 平台架构有用,版本号要与glibc一样。


如何选择版本 : 应先确定glibc版本然后确定gcc版本。gmp ,mpfr , mpc 如果独立编译还要考虑互相之间到版本依赖关系,我们可以放到gcc源码目录编译,但每次编译gcc的时间会变长。


总流程

编译binutils

安装kernel头文件
编译纯gcc

用纯gcc编译glibc

编译交叉工具

注:初学者应该体验每个过程,而不是把所有工作都放到一个脚本去完成,应该分段完成。


准备工作

建立工作目录:cross-tool,此目录下建立:

kernel-head

binutils-build

gcc-build

glibc-build

tool-build  交叉工具编译目录   

result        安装目录

source      软件源码

script         存放自己编写的脚本


环境变量:


PROJECT_DIR=/home/tgen/cross-tool

HOST=I686-redhat-linux

TARGET=arm-none-linux-gnueabi

PREFIX=${PROJECT_DIR}/result

PREFIX_TARGET=${PREFIX}/${TARGET}

export  PATH=${PREFIX_TARGET}/bin:${PREFIX}/bin:$PATH


以上内容保存为脚本secrossenv.sh,在工作目录cross-tool下执行 . setcrossenv.sh


一.【编译binutils】

错误1:

解决:

二. 【安装头文件】

错误1:

解决:

. 【编译纯gcc】

错误1:

解决:

四. 【编译glibc】

错误1:idn-stub.c:24:27: fatal error: gnu/lib-names.h: No such file or directory

因为安装glibc头文件时,configure后面接了 --disable-shared

 

在glibc目录下的Makefile有如下注释:

# Create links for shared libraries using the `ldconfig' program if possible.
# Ignore the error if we cannot update /etc/ld.so.cache.
看起来和连接器有关

解决:暂时未找到方法

五. 【编译交叉工具】

错误1:

解决:


错误:

checking for ARM TLS support... no
configure: error: the assembler must support TLS

解决:把编译好的arm-none-linux-gnueabi-gcc所在路径添加到PATH环境变量





--------------------------待续


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝后商家页面打不开了怎么办 淘宝遇到职业打假人怎么办 发票被复写上字怎么办 淘宝直播广告图片的商品怎么办 美团商家排名低怎么办 想成为淘宝主播怎么办 用移动流量很卡怎么办 淘宝店铺被恶意刷流量怎么办 一个想要公司权利的人怎么办 淘宝商家短信推广告怎么办 在群里乱发信息怎么办 支付宝扫不了码怎么办 淘宝商家收款不发货怎么办 淘宝申请退款商家拒绝怎么办 一件代发找不到供货商怎么办 淘宝京东兼职上当怎么办 退货时快递丢件怎么办 淘宝店铺代销1688有订单怎么办 供应商已解除合作无法代销怎么办 被代运营骗了怎么办 被淘宝运营骗了怎么办 淘宝运营公司骗了怎么办 被金融公司骗了怎么办 天猫品牌方投诉怎么办 淘宝卖家售假被扣了12分怎么办? 淘宝店被投诉了怎么办 淘宝商品被投诉侵权怎么办 淘宝小二胡乱判怎么办 淘宝卖家不干了怎么办 花呗剩下的钱怎么办 蚂蚁花呗无法使用怎么办 淘宝不能用花呗怎么办 淘宝号给冻结了怎么办 淘宝买家号封了怎么办 拼多多商家盗图怎么办 被拼多多盗图了怎么办 淘宝盗用图片被投诉怎么办 淘宝别人盗用我的图片怎么办 淘宝盗图申诉原图过大怎么办 淘宝别人举报我盗用图片怎么办 淘宝卖家被投诉盗图怎么办