博客首页 | 排行榜 |

webdisk008的博客

个人档案
博文分类
制作交叉编译工具链中的bind.o错误的一种解决方法  2009-12-15 08:26

        在使用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

        之后,再进行编译即可。

类别:Linux |
上一篇:智能手机配件面面观 几乎能做任何事情 | 下一篇:600MHz主频开始普及 2010年智能机趋势观察
以下网友评论只代表其个人观点,不代表本网站的观点或立场