Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34249
  • 博文数量: 17
  • 博客积分: 770
  • 博客等级: 军士长
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-29 10:18
文章分类

全部博文(17)

文章存档

2010年(1)

2009年(6)

2008年(10)

我的朋友
最近访客

分类: LINUX

2008-11-20 11:41:18

看到论坛上有兄弟也遇到 arm-linux-gcc: /lib/tls/libc.so.6:  version `GLIBC_2.4`not found (required by arm-linux-gcc) 的问题,估计跟我的情况一样,在这里说一下。

      自己主机里用的是Redhat9,gcc编译器版本是3.2.2

      解压光盘中的arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2,提示错误:arm-linux-gcc: /lib/tls/libc,so,6:  version `GLIBC_2.4`not found (required by arm-linux-gcc)

      这是因为光盘中的 arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2  是在 ubuntu7.10 中编译生成的,Redhat9 下要重新生成。而从网上直接下的 arm-linux-gcc-3.3.2.tar.bz2 交叉编译工具,编译u-boot时,提示类似 arm-linux-ld: ERROR: /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/libgcc.a(_clz.oS) uses hardware FP, whereas u-boot uses software FP 这样的错误,这是因为这个交叉编译器不支持软浮点(software FP )。

        好,开始制作,依据书上第26页 2.自己制作工具链 到 第28页。不过一定要注意,我们在这里就要把create_crosstools下的两个补丁(glibc-2.3.6-version-info.h_err.patch 和 ld-2.15-scratchbox_NATIVE.patch)都打上, 否则编译的时候可能会出下面的错误:
gcc  -g -O2 -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstrict-prototy
pes -Wmissing-prototypes -pedantic -Wno-long-long    -DHAVE_CONFIG_H  -o Tcollec
t2 \
        collect2.o tlink.o intl.o version.o ../libiberty/libiberty.a
collect2: ld returned 1 exit status
make[1]: *** [collect2] Error 1
make[1]: Leaving directory `/usr/create_crosstools/crosstool-0.43/build/arm-linu
x/gcc-3.4.5-glibc-2.3.6/build-gcc/gcc'
make: *** [all-gcc] Error 2

          开始编译..........,如果你是以 root 用户登陆系统的,可能你会遇到这个问题:
+ echo 'SRC_DIR not set, so source tarballs will be unpacked in the build directory'
SRC_DIR not set, so source tarballs will be unpacked in the build directory
+ abort 'Don'\''t run all.sh or crosstool.sh as root, it'\''s dangerous'
+ echo 'Don'\''t' run all.sh or crosstool.sh as root, 'it'\''s' dangerous
Don't run all.sh or crosstool.sh as root, it's dangerous
+ exec false
        看这句 'Don'\''t run all.sh or crosstool.sh as root, it'\''s dangerous',所以我们切换用户,以其他非 root 用户重新登陆,如果遇到提示 权限不够 或是 无法进入目录时,su一下就可以了。好了,继续编译吧,不出意外的话两个小时左右之后就会在目录 /work/tools/ 下看到生成的 gcc-3.4.5-glibc-2.3.6 了。
阅读(1356) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~