Glibc error when building linux from scratch

The following error occurred when I made make for glibc-2.14.1 for LFS 7.1. I am using ubuntu as the host OS.

gcc ../sysdeps/unix/sysv/linux/syslog.c -c -std=gnu99 -fgnu89-inline -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -g -Wstrict-prototypes -mpreferred-stack- boundary=2 -Wa,-mtune=i686 -fexceptions -I../include -I/mnt/lfs/sources/glibc- build/misc -I/mnt/lfs/sources/glibc-build -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../sysdeps/i386/i686/multiarch -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. -nostdinc -isystem /usr/lib/gcc/i686-linux-gnu/4.6/include -isystem /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed -isystem /tools/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /mnt/lfs/sources/glibc-build/misc/syslog.o -MD -MP -MF /mnt/lfs/sources/glibc-build/misc/syslog.o.dt -MT /mnt/lfs/sources/glibc- build/misc/syslog.o 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 

Can someone tell me what to do?

+6
source share
4 answers

For glibc 2.15, I had to do as ks1322:

$ ../glibc2.15/configure CFLAGS="-O2 -U_FORTIFY_SOURCE -fno-stack-protector" $ make

-O2 needs to restore the default optimization needed to prevent a series of crashes.

-U_FORTIFY_SOURCE is required to avoid gcc ../sysdeps/unix/sysv/linux/syslog.c ( In function '__vsyslog_chk': [...] inlining failed in call to 'syslog' )

-fno-stack-protector required to avoid the failure of gcc [...] elf/dl-allobjs.os libc_pic.a ( (init-first.os):(.data+0x0): multiple definition of '__libc_multiple_libcs' ) .

With these CFLAGS I get only a warning ( errlist.c count 133 inflated to GLIBC_2.12 count 134 (old errno.h?) ).

PS It is also very important not to use the gold linker ( ld.gold , from the binutils-gold ), because libc config reject it. This is easy to do by changing the /usr/bin/ld symbolic link from ld.gold to ld.bfd .

+4
source

After an unsuccessful attempt, the following worked for me:

 make clean make -j2 CFLAGS="-U_FORTIFY_SOURCE -O2 -fno-stack-protector" 

More on this blog http://www.yonch.com/tech/78-compiling-glibc .

+2
source

glibc build problems, attachment failed

You need to add -U_FORTIFY_SOURCE to the gcc call.

+1
source

@avinash - try the following ...

1) restart configure ... CFLAGS = "- O2 -U_FORTIFY_SOURCE". / configure
2) restart make ... CFLAGS = "- O2 -U_FORTIFY_SOURCE" do

+1
source

Source: https://habr.com/ru/post/922314/


All Articles