Linux lfs glibc编译错误

Linux lfs glibc编译错误,linux,ld,glibc,linux-from-scratch,Linux,Ld,Glibc,Linux From Scratch,我的主机系统是Linux debian 2.6.32-5-amd64#1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64 GNU/Linux。 我想建立一个LFS,glibc编译现在阻止了我。 以下是错误提示,谢谢 /mnt/lfs/sources/glibc-build/resolv/libresolv_pic.a(gethnamaddr.os): In function `getanswer': /mnt/lfs/sources/glibc-2.17/reso

我的主机系统是Linux debian 2.6.32-5-amd64#1 SMP Mon Feb 25 00:26:11 UTC 2013 x86_64 GNU/Linux。 我想建立一个LFS,glibc编译现在阻止了我。 以下是错误提示,谢谢

/mnt/lfs/sources/glibc-build/resolv/libresolv_pic.a(gethnamaddr.os): In function `getanswer': /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:180: undefined reference to `__stack_chk_guard' /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:483: undefined reference to `__stack_chk_guard' /mnt/lfs/sources/glibc-build/resolv/libresolv_pic.a(gethnamaddr.os): In function `res_gethostbyaddr': /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:644: undefined reference to `__stack_chk_guard' /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:783: undefined reference to `__stack_chk_guard' /mnt/lfs/sources/glibc-build/resolv/libresolv_pic.a(gethnamaddr.os): In function `__GI_res_gethostbyname2': /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:510: undefined reference to `__stack_chk_guard' /mnt/lfs/sources/glibc-build/resolv/libresolv_pic.a(gethnamaddr.os):/mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:636: more undefined references to `__stack_chk_guard' follow collect2: error: ld returned 1 exit status make[2]: *** [/mnt/lfs/sources/glibc-build/resolv/libresolv.so] Error 1 make[2]: Leaving directory `/mnt/lfs/sources/glibc-2.17/resolv' make[1]: *** [resolv/others] Error 2 make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.17' make: *** [all] Error 2 /mnt/lfs/sources/glibc build/resolv/libresolv_pic.a(gethnamaddr.os):在函数“getanswer”中: /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:180:未定义对“堆栈”的引用 /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:483:未定义对“堆栈”的引用 /mnt/lfs/sources/glibc build/resolv/libresolv_pic.a(gethnamaddr.os):在函数'res_gethostbyaddr'中: /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:644:未定义对“堆栈保护”的引用 /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:783:未定义对“堆栈”的引用 /mnt/lfs/sources/glibc build/resolv/libresolv_pic.a(gethnamaddr.os):在函数“GI_res_gethostbyname2”中: /mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:510:未定义的对“堆栈”的引用 /mnt/lfs/sources/glibc build/resolv/libresolv\u pic.a(gethnamaddr.os):/mnt/lfs/sources/glibc-2.17/resolv/gethnamaddr.c:636:下面是更多未定义的对“堆栈chk\u保护”的引用 collect2:错误:ld返回了1个退出状态 make[2]:***[/mnt/lfs/sources/glibc build/resolv/libresolv.so]错误1 make[2]:离开目录“/mnt/lfs/sources/glibc-2.17/resolv” 作出[1]:***[resolv/others]错误2 make[1]:离开目录“/mnt/lfs/sources/glibc-2.17” make:**[全部]错误2
您的gcc已启用堆栈保护

要克服此错误,请执行以下操作:

CFLAGS=“-fno堆栈保护器-O2”。/configure--prefix=/somepath

在我的系统上,我运行:

mkdir构建

光盘制作


CFLAGS=“-fno stack protector-O2”。/configure--prefix=/usr/test\u glibc

我找到了解决此问题的解决方案:

在gcc第一次通过之前,通过gcc源中的此sed修复:

sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
以及:

但是LFS手册中已经提到了这些。我不知道为什么我没有看到他们
我从LFS开始:D

谢谢!在我准备重新启动binutils之前找到了你的帖子。
sed -i 's/if \((code.*))\)/if (\1 \&\& \!DEBUG_INSN_P (insn))/' gcc/sched-deps.c