c - glibc 未正确编译

标签 c linux gcc x86 glibc

编译glibc 2.11时,出现以下错误。知道如何解决这个问题。

In file included from ../sysdeps/unix/sysv/linux/syslog.c:10:
../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
make[2]: *** [/home/alice/Desktop/glib-build/misc/syslog.o] Error 1
make[2]: Leaving directory `/home/alice/Desktop/glibc-2.11/misc'
make[1]: *** [misc/subdir_lib] Error 2
make[1]: Leaving directory `/home/alice/Desktop/glibc-2.11'
make: *** [all] Error 2

最佳答案

显然,这是一个 known problem with building glibc on Ubuntu 。本质上:

glibc does not build with _FORTIFY_SOURCE enabled ,并且 Ubuntu 使用 -D_FORTIFY_SOURCE=2 编译内容。

您需要通过取消定义_FORTIFY_SOURCE来禁用此功能。即附加 -U_FORTIFY_SOURCE 到您的CFLAGS

关于c - glibc 未正确编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413770/

相关文章:

c - 在 Windows 上运行 libxlsxwriter

linux - Bash 输出发生在提示之后,而不是之前,这意味着我必须手动按 enter

c - 从串行端口读取十六进制数据数组字节值

c - 选择c编译器并创建开发环境

c - 曼哈顿距离高估了,让我发疯

如何进行循环冗余检查?

使用 GUI 在 Azure 上进行 GCC 编译

c++ - std::ofstream 构造函数阻塞

c - “int”类型的值不能用于初始化“const char *”类型的实体

c - 0 转换为 128