您的位置:首页 > 其它

CROSSTOOL-NG RHEL5.5 交叉编译环境搭建

2010-11-29 16:55 267 查看
谢谢老婆的qq签名,不然今天不可能做出来今天终于把虚拟机里RHEL5.5的交叉编译环境搭建完成,这里分享我的经验,反复编译了大半天主要参考帖子有如下:http://blog.chinaunix.net/u1/34474/showart_2198589.htmlhttp://hi.baidu.com/caicry/blog/item/f306db639c4281680c33fa1b.htmlcrosstool-ng的下载链接和各种包的下载链接都在参考帖子里
本人用的是1.7.0 免去打补丁的麻烦所有操作在home目录底下由于上面两个帖子已经很详细的介绍了整个过程,我在这里只是讨论一下主要出错的地方问题1:安装首先是crosstool-ng的安装问题,./configure --prefix=/home/cross-ng-install之后总是提示我automake没有装或者版本太低,但我查看automake的version已经到最高无奈之下我只好修改configure文件
#                    if [ -z "${str}" ]; then#                        printf "no\n"#                        unset where#                        continue#                    fi
把这段给注释掉之后,能跟正常安装问题2:.config的问题,包版本问题menuconfig很方便,但同时也有很多限制,例如可能没有你想要的内核版本,或者gcc版本,你可以通过修改bin/.config文件来修改所有信息,包括你已经下载好的包的目录,安装目录,目标目录,所需文件的版本(相当重要),几乎80%编译过程的出错,你都要通过查看build.log,和修改.config来纠正,其他就可能是包的问题,像我之前忘了把eglibc改成用glibc,虽然crosstool自动下载了eglibc的包,却因为版本号对不上然后白白浪费了我几个小时~~,最后改回用glibc就行问题3:解压crosstool-ng会自动帮你下载你所需要的,但我虚拟机当时无法联网,只好用先前下好的包,而crosstool-ng首先会根据.config配置下载不够的包,解压,安装,然后编译,我每个阶段都遇到的了问题,而问题3,就是解压的问题,而且我下载的ppl-0.10.2.tar.bz2的包老是解压有问题,我重新下载了tar.gz就没事了,假如你们解压出现问题可以试试这个方法,或者换更高版本的包,通常第一次build都不可能成功,但是还是会生成target文件夹和一些文件,在再次编译之前,完全清除,避免解压出现ERROR问题4:编译编译的时候,出乎意料的只有一个问题,证明了这个工具的强大,编译的时候提醒我autoconf的版本要2.60以上的,而我的是2.59,囧死,163 yum源连不上,只好到chinaunix下载一个源码包,
tar jvxf autoconf-2.64.tar.bz2cd autoconf-2.64./configure --prefix=/usrmake && make install
编译顺利通过我同时开了两个终端,一个终端用tail -f build.log监测,另外一个进行安装上图为最后一次成功的编译的过程胜利的果实!编译hello,world成功,在mini2440上成功运行!前面两个为旧版crosstool搭建的编译器,程序无法运行本文出自 “只是为了活着” 博客,请务必保留此出处http://flynngao.blog.51cto.com/620121/435541
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: