使用嵌入式linux完全手册光盘的arm-linux-gcc 遇到问题 自己编译

Redhat9下重新生成交叉编译器gcc-3.4.5-glibc-2.3.6

看到论坛上有兄弟也遇到 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 了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值