gpt4 book ai didi

c - 从头开始为 Linux 构建 Glibc-2.11.1 时出错

转载 作者:行者123 更新时间:2023-11-30 17:30:19 28 4
gpt4 key购买 nike

我正在尝试使用内核 3.16 的 gcc-4.6.1 配置 glibc-2.11.1。我正在按照 http://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html 给出的步骤进行操作当我在编译一些文件后执行 make 时,它​​给出

make -r PARALLELMFLAGS="" CVSOPTS="" -C ../glibc-2.11.1 objdir=`pwd` all
make[1]: Entering directory `/home/amar/Desktop/glib1/glibc-2.11.1'
make subdir=csu -C csu ..=../ subdir_lib
make[2]: Entering directory `/home/amar/Desktop/glib1/glibc-2.11.1/csu'
gcc /home/amar/Desktop/glib1/gnu/csu/crti.S -c -I../include -I/home/amar/Desktop/glib1/gnu/csu -I/home/amar/Desktop/glib1/gnu -I../sysdeps/i386/elf -I../nptl/sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386/i686 -I../nptl/sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux/i386 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../nptl/sysdeps/i386/i686 -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../nptl/sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../nptl/sysdeps/i386 -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI -DASSEMBLER -I/home/amar/Desktop/glib1/gnu/csu/. -DGAS_SYNTAX -g -Wa,--noexecstack -g0 -o /home/amar/Desktop/glib1/gnu/csu/crti.o
/tmp/ccEB9vct.s: Assembler messages:
/tmp/ccEB9vct.s: Error: open CFI at the end of file; missing .cfi_endproc directive
/tmp/ccEB9vct.s: Error: open CFI at the end of file; missing .cfi_endproc directive
make[2]: *** [/home/amar/Desktop/glib1/gnu/csu/crti.o] Error 1
make[2]: Leaving directory `/home/amar/Desktop/glib1/glibc-2.11.1/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/home/amar/Desktop/glib1/glibc-2.11.1'
make: *** [all] Error 2

为什么会这样呢?我该如何纠正这个错误?请帮我。提前致谢

最佳答案

Why is it so ?

文件crti.S构建失败是通过编译 csu/initfini.c 生成的,然后分割生成的 initfini.s关于“魔法标记”。

不幸的是,这种分割极大地依赖于 gcc 的版本用于生成 initfini.s ,并且并不总是有效。

整个机制已于 2012 年 2 月被淘汰。

您的选择是:

  • 构建更新版本的 glibc(当前版本为 2.19),或者
  • 使用旧版本的 GCC 进行构建(Google 搜索显示许多 gcc-4.6 实例导致了此问题)。

关于c - 从头开始为 Linux 构建 Glibc-2.11.1 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25183453/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com