在编译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
显然,这是一个在Ubuntu上构建glibc
的已知问题 。 在本质上:
glibc
不会在启用_FORTIFY_SOURCE
,而Ubuntu会使用-D_FORTIFY_SOURCE=2
编译内容。
您需要通过取消定义_FORTIFY_SOURCE
来禁用此_FORTIFY_SOURCE
。 -U_FORTIFY_SOURCE
附加到您的CFLAGS
。