Ubuntu 9.04安装arm-linux-gcc交叉编译工具
2009-07-12 20:43
996 查看
Ubuntu 9.04安装arm-linux-gcc交叉编译工具
2009-07-05 05:28
2009-07-05 05:28
原文来源:http://blog.csdn.net/JiangBo_HIT/archive/2009/05/06/4154436.aspx 最近要开发嵌入式linux,但是手头上大多文档中介绍交叉编译环境的都是基于RedHat9的,这个版本虽说很经典,但是毕竟实在是太古老了,自己机器上本身装的是Ubuntu,因此小小的研究了一下,在ubuntu中安装交叉编译环境 arm-linux-gcc 下面所有yourname替换为你自己的位于/home目录下的用户名 首先是准本工作: 需要的安装包: crosstool-0.43.tar.gz 可以在http://kegel.com/crosstool/crosstool-0.43.tar.gz获得 创建一个文件夹 mkdir /home/yourname/downloads也可以用mkdir ~/downloads 将crosstool-0.43.tar.gz复制到downloads目录下(下载完成后默认应该实在桌面上) 另外,还有一些安装包: binutils-2.16.1.tar.bz2 glibc-2.3.2.tar.bz2 glibc-linuxthreads-2.3.2.tar.bz2 gcc-3.3.6.tar.bz2 linux-2.6.15.4.tar.bz2 gcc-4.1.0.tar.bz2 linux-libc-headers-2.6.12.0.tar.bz2 gdb-6.5.tar.bz2 这些在安装过程中会自动下载,也可以自己提前下载好,放在/home/yourname/downloads下面,不过我建议提前下好,因为一会需要修改一下glibc里的一个文件。 下面是一些安装是可能遇到的问题,提前些出来,省得大家忙活半天编译到一半发现错了还得重新编译,如果你想见识一下这些问题,可以直接跳转到下面的安装过程。 1.安装过程中会提示缺少下面两个包 bison flex 如果以前没有装过,下载安装一下(具体包名我忘记了,可以直接输入bison查看,如果没装过,会提示你可以下载哪些包安装,flex类似) sudo apt-get install bison sudo apt-get install flex 另外网上说还需要一个mm4,不过我装的时候没有提示,好象是安装flex时,解决依赖性时自动装上了。 2.还有一个莫名其妙的错误,提示说gcc版本太旧或者未安装,但是你用sudo apt-get install gcc 的时后会发现gcc已经是最新版本了,事实上这个错误是因为gcc版本太新了。解决方法如下: sudo apt-get install gcc-3.4 cd /usr/bin sudo rm gcc ln -s gcc-3.4 gcc 3.安装是还出现了如下错误: /home/xxs/crosstool-0.43/build/arm-arm9tdmi-linux-gnu/gcc-4.1.1-glibc-2.3.2/build-glibc/csu/version-info.h:1:1: missing terminating " character 系统在编译生成version.o时候发现version-info.h文件有错误 解决方法是需要修改一个文件 解压glibc-2.3.2.tar.bz2 找到glibc-2.3.2/csu目录下的Makefile按如下修改 文件末尾有2处echo echo "/"Compiled on a $$os $$version system" / "on `date +%Y-%m-%d`.//n/"" ;; / 改为: echo "/"Compiled on a $$os $$version system" / "on `date +%Y-%m-%d`.////n/"" ;; / echo "/"Available extensions://n/""; 改为: echo "/"Available extensions:////n/"" / 保存并重新压缩为glibc-2.3.2.tar.bz2 覆盖原来downloads目录下的glibc-2.3.2.tar.bz2 解决好上面的一些小问题就可以开始安装了 1.创建一个安装目录 sudo mkdir /opt/crosstool 这是因为安装文件默认是安装到这个目录里的 2.为你自己添加权限 sudo chown yourname /opt/crosstool 3.解压crosstools-0.43.tar.gz(此时安装包应该位于/home/yourname/downloads/目录下,不是的话自己改一下) tar -zvxf crosstools-0.43.tar.gz 进入cross目录 cd cross-0.43 可以ls一下看看里面的文件,里面有一些脚本文件,具体功能可以到http://kegel.com/crosstool上查看FAQ 4.运行./demo-arm.sh进行安装 这步要注意,网上有人说需要修改脚本文件里的一些设置,我没改也装上了,不知道为什么。 5.剩下的就等着编译安装吧,很漫长~~ 修改环境变量 安装完成后,默认的那装目录就是开始创建的那个/opt/crosstools/ 1.添加环境变量 gedit ~/.bashrc 在最后添加如下 if [ -d /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknow-linux-gnu ]; then PATH=/opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknow-linux-gnu/bin:$PATH fi 就是把安装的工具bin目录添加到PATH变量中。 保存 2.source ~/.bashrc 3.重启终端。 然后可以测试一下 arm-unknow-linux-gnu-gcc 正常的话就会出现 arm-unknow-linux-gnu-gcc: no input files 说明程序能用了。 剩下的就是继续探索~ 革命尚未成功,同志还需努力 *****************************************************原文结束 我的补充: 在安装的时候还出现了patch错误,错误具体是什么忘记了,是一个.sh文件它明明在文件夹里面可是说找不到,后来重新装了一个patch , apt-get install patch,再次安装的时候就好了。 花了好长时间终于安装好了,可是在设置环境变量是没有反应,找到目录运行./arm-unknow-linux-gnu-gcc显示no input files 可是,环境变量没有设置好,只能在文件目录执行,不知道哪出了问题 按照原文的环境变量的设置方法是不成功的,我具体实现的方法是通过改变~/.profile文件,将上面的语句复制后一定要在检查一下,应为我的路径和上面得路径是不同的,只有路径相同才能,成功设置环境变量。 log out 再登陆系统就可以使用 了 。 注意:不要用root用户来设置环境变量 |
相关文章推荐
- Ubuntu 9.04安装arm-linux-gcc交叉编译工具
- Ubuntu 9.04安装arm-linux-gcc交叉编译工具
- Ubuntu9.04下安装arm-linux-gcc交叉编译工具的摸索
- Ubuntu 9.04安装arm-linux-gcc交叉编译工具
- Ubuntu 安装arm-linux-gcc交叉编译工具
- Ubuntu16.04安装配置嵌入式交叉编译工具链arm-linux-gcc
- Ubuntu 安装arm-linux-gcc交叉编译工具
- 【转】Ubuntu 12.04下安装arm-linux-gcc等gnu arm toolchain交叉编译工具
- 在ubuntu-16.04系统中安装arm-linux-gcc-4.3.2交叉编译工具
- Ubuntu 安装arm-linux-gcc交叉编译工具
- fedora 14和ubuntu10.0.4安装交叉编译工具arm-linux-gcc
- Ubuntu 16.04 安装 arm-linux-gcc 交叉编译工具
- 【linux】ubuntu安装交叉编译工具arm-none-linux-gnueabi-gcc
- Ubuntu 12.04系统交叉编译开发工具的安装(arm-linux-gcc-4.4.3都一样)
- 交叉编译工具 arm-linux-gcc 安装
- vmware虚拟机上ubuntu操作系统安装arm-linux-gcc交叉编译环境
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- Ubuntu系统如何安装arm-linux-gnueabi交叉编译工具?
- 安装交叉编译工具链arm-linux-gcc
- 安装交叉编译工具,执行arm-linux-gcc–v命令出现提示找不到该文件或目录?解决方法