LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2438|回复: 7

arm-linux交叉编译器,编译gcc第一阶段的问题

[复制链接]
发表于 2007-5-28 16:01:32 | 显示全部楼层 |阅读模式
第一次编译gcc

首先运行configure文件,使用--prefix=$PREFIX参数指定安装路径,使用--target=arm-linux参数指定目标机类型,并使用--disable-threads、--disable-shared、--enable-languages=c参数,然后执行 make install。这一步将生成一个最简的gcc。由于编译整个gcc是需要目标机的glibc库的,它现在还不存在,因此需要首先生成一个最简的gcc,它只需要具备编译目标机glibc库的能力即可。

带下划线那个参数有的资料说不需要加,到底加不加呢?它是什么用的?
发表于 2007-5-29 23:37:50 | 显示全部楼层
1. 使用Crosstool  : http://kegel.com/crosstool/current/doc/crosstool-howto.html
2. 如果你仅仅是要有一个普通的ARM-toolchain,用这个
http://frank.harvard.edu/~coldwell/toolchain/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-30 14:44:50 | 显示全部楼层
知道了,但是我想想学学自己建立交叉编译环境,能不能给我点帮助呢?
第一步BINUTILS没有问题,
2,LINUX KERNEL HEADERS
make ARCH=arm menuconfig
make
提示错误:
/bin/sh:arm-linux-gcc,command not found
/arch/arm/kernel/asm-offsets.s error127
[prepare0]error 2
回复 支持 反对

使用道具 举报

发表于 2007-5-30 15:46:21 | 显示全部楼层
提示错误:
/bin/sh:arm-linux-gcc,command not found
/arch/arm/kernel/asm-offsets.s error127
[prepare0]error 2
arm-linux-gcc没有正确安装或者路径没加入到环境变量中
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-30 16:08:31 | 显示全部楼层
谢谢Sakur_Fre,用你给的RPM包安装好的交叉编译器可以正常运行,交叉编译好helloworld后在实验箱上可以正常运行.
但是我还是想自己建立交叉编译环境,因为我最终的目的是能为了建立基于sh4CPU的交叉编译器,这个只是训练一下.
回复 支持 反对

使用道具 举报

发表于 2007-5-30 22:20:28 | 显示全部楼层
编译 binutils 后,安装内核头文件,而不是编译内核。由于这时还没有编译 gcc,当然会提示 arm-linux-gcc 找不到。在配置完内核后,把相应的头文件拷贝到工具链中即可,不要进行 make。楼主可以看看 lfs 中是如何安装 kernel-headers 的
回复 支持 反对

使用道具 举报

发表于 2007-5-31 14:17:50 | 显示全部楼层
Post by fujingdcn
知道了,但是我想想学学自己建立交叉编译环境,能不能给我点帮助呢?
第一步BINUTILS没有问题,
2,LINUX KERNEL HEADERS
make ARCH=arm menuconfig
make
提示错误:
/bin/sh:arm-linux-gcc,command not found
/arch/arm/kernel/asm-offsets.s error127
[prepare0]error 2


建议你自己用CrossTool来生成符合你需要的Toolchain。 你记住gcc和glibc是相互依赖的,你可以参考一下LFS前面编译基本Toolchain的几章,上面告诉你为什么这么编。
回复 支持 反对

使用道具 举报

发表于 2007-6-4 10:10:45 | 显示全部楼层
如果想自己编译一个较新的cross-compile,我建议lz看看CLFS(现在它分解为三个分支,但cross-compile部分是一致的)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表