制作交叉编译工具链中的bind.o错误的一种解决方法

在使用crosstool-0.43制作交叉编译工具链编译glibc过程中有时可能会报出如下错误(我当时使用的是glibc-2.3.2):

../sysdeps/unix/sysv/linux/bind.S: Assembler messages:../sysdeps/unix/sysv/linux/bind.S:5: Error: symbol `__bind' is already defined
make[2]: ***
[/home/zht/cross-compiler/build-tools/build-glibc/socket/bind.o] Error 1
make[2]: Leaving directory `/home/zht/cross-compiler/build-tools/glibc-2.3.6/socket'
make[1]: ***

这里的glibc的版本不是唯一的,也就是说在编译glibc-2.3.2或glibc-2.3.5时都有可能出现这个错误,目前我使用的一种解决方法是打下面两个补丁:

6230_all_arm-glibc-2.3.6-socket-no-weak-alias.patch
6530_all_sparc-glibc-2.3.6-socket-no-weak-alias.patch

比如使用crosstool-0.43制作时报了这个错误,这时首先修改arm.sh中eval `XXXXX` sh all.sh --notest后边加上--nounpack,表示下次执行脚本时不需要解压缩软件包(因为之前已经解压缩好了)。之后在终端中进入/home/lgx/crosstool-0.43/build/arm-linux/gcc-4.1.0-glibc-2.3.2/glibc-2.3.2 文件夹中,并将以上两个补丁拷贝到这个目录中,输入如下指令:

patch -Np1 -i 6230_all_arm-glibc-2.3.6-socket-no-weak-alias.patch
patch -Np1 -i 6530_all_sparc-glibc-2.3.6-socket-no-weak-alias.patch

之后,再进行编译即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值