LinuxSir.cn,穿越时空的Linuxsir!

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

建立交叉编译环境时的GCC错误

[复制链接]
发表于 2006-3-29 10:34:16 | 显示全部楼层 |阅读模式
大家好,我在试着为ARM-Linux建立交叉编译环境,但是make gcc时碰到了错误,先说说我的建立过程吧

软件包:
binutils-2.16.1.tar.bz2
gcc-3.3.tar.bz2
glibc-2.3.6.tar.gz
glibc-linuxthreads-2.3.6.tar.gz
linux-2.6.0.tar.bz2
patch-2.6.0-rmk2.bz2

目录:
~/arm/sources 源码目录
~/arm/build  在此目录下编译,比如binutils在~/arm/build/binutils下编译,这样会有问题吗?
~/arm/tools 安装的目录

编译binutils时一切正常.
然后是给内核打补丁,复制内核头文件等等:

cd linux-2.6.0
bzcat ../patch-2.6.0-rmk2.bz2|patch -p1

/*
这里一些文章提到:修改内核源码根目录下的Makefile文件
   ARCH = arm
并make menuconfig
  make dep (但是我运行这个命令时,提示:Warning: make dep is unnecessary now)

我不知道这里有什么作用,请教?
*/


cp -dR include/asm-arm ~/arm/tools/arm-linux/include/asm
cp -dR include/linux ~/arm/tools/arm-linux/include/linux


修改 ./gcc/config/t-linux文件
TARGET_LIBGCC2_CFLAGS = -fPIC
改为:
TARGET_LIBGCC2_CFLAGS = -fPIC -Dinhibit_libc -D__gthr_posix_h

编译GCC
../../sources/gcc-3.4.6/configure \
--target=arm-linux \
--prefix=$PREFIX \
--with-headers=/home/laoz/arm/tools/arm-linux/include \
--enable-languages=c \
--disable-threads \
--disable-shared \
--disable-nls \
以上还是正常的

但是make时出现了以下的错误
In file included from ../../../sources/gcc-3.3/gcc/crtstuff.c:62:
../../../sources/gcc-3.3/gcc/tsystem.h:72:19: stdio.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:75:23: sys/types.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:78:19: errno.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:85:20: string.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:89:20: stdlib.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:90:20: unistd.h: No such file or directory
../../../sources/gcc-3.3/gcc/tsystem.h:96:18: time.h: No such file or directory
../../../sources/gcc-3.3/gcc/crtstuff.c: In function `__do_global_dtors_aux':
../../../sources/gcc-3.3/gcc/crtstuff.c:280: warning: passing arg 1 of `__deregister_frame_info' discards

qualifiers from pointer target type
../../../sources/gcc-3.3/gcc/crtstuff.c: In function `frame_dummy':
../../../sources/gcc-3.3/gcc/crtstuff.c:316: warning: passing arg 1 of `__register_frame_info' discards

qualifiers from pointer target type
make[1]: *** [crtbegin.o] Error 1
make[1]: Leaving directory `/home/laoz/arm/build/gcc/gcc'
make: *** [all-gcc] Error 2


我在两台机子(一台slackware 10.2,一台远程的机子,不知道什么系统)上试过以上过程,但都出现了上面错误,各位大侠,指教一下小弟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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