为什么我无法在 Ubuntu 12.04 上编译 GLIBC?

为什么我无法在 Ubuntu 12.04 上编译 GLIBC?

我正在尝试编译Linux From Scratch 内核,版本 7.1在 Ubuntu 12.04 上,在虚拟机内运行。

我已经成功完成了教程的一部分,但是当我到达步骤 5.7:构建 Glibc-2.14.1 时,我收到错误。

In file included from ../sysdeps/unix/sysv/linux/syslog.c:10:0
../misc/syslog.c: In function '__vsyslog_chk':
../misc/syslog.c:144:9: warning: variable 'prioff' set but not used [-Wunused-but-
    set-variable
../misc/syslog.c:123:1: sorry, unimplemented: inlining failed in call to 'syslog':        
    function body not available.
../misc/syslog.c:155:9: sorry, unimplemented: called from here
make[2]: *** [/mnt/lfs/sources/glibc-build/misc/syslog.o] Error 1
make[2]: Leaving directory `/mnt/lfs/sources/glibc-2.14.1/misc'
make[1]: *** [misc/subdir_lib] Error 2
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.14.1'
make: ***[all] Error 2

经过一番谷歌搜索后,我看到了一份已提交的错误报告: http://sourceware.org/bugzilla/show_bug.cgi?id=10375 出现了与我所见相同的错误,但我无法找到解决方案。

关于我应该去哪里,有什么建议吗?

答案1

错误报告非常明显——尤其是看最后两篇帖子。

问题是(他们的)GLIBCFORTIFY_SOURCE与 Ubuntu 默认设置的选项不兼容海湾合作委员会

更好的解决方案是从主干中获取最新的副本,问题已经得到解决;或者,在 makefile 中或在调用之前取消设置(禁用)该选项make

export CFLAGS=-U_FORTIFY_SOURCE

相关内容