I'm building the development version of systemd.

After updating various programs listed in the Changelogs for LFS and BLFS, I left linux-5.5 for last. I had upgraded to linux-5.4.13 a few days ago, without trouble. Keeping in mind that glibc-2.30 depends on the linux headers, as stated in the LFS book:

#############

6.7.1. Installation of Linux API Headers

The Linux kernel needs to expose an Application Programming Interface (API) for the system's C library (Glibc in LFS) to use. This is done by way of sanitizing various C header files that are shipped in the Linux kernel source tarball.

#############

I did that sanitizing with linux-5.5, and then built the full linux-5.5. Unlike earlier builds, the build process asked a bunch of questions about "makemenu" options, most of which I accepted the default for. Then I modified the configuration file of the boot manager I use, rEFInd, to account for the updated linux version. Unfortunately I missed changing one line that specifies loading the initrd file, which stayed at the one for linux-5.4.13. I rebooted the system, and everything seemed to be ok. At least, until I tried to compile Fluxbox.

That complained that a couple of pieces of libstdc++ were missing. After some research, I decided to recompile glibc, which required redoing the Linux API Headers stuff first. Then "make" for glibc went into an endless loop after 3-4 minutes, so I eventually Control-C'd out of it. I repeated this process several times with the same result. Here's the repeating part of the loop:

###########
sed -e 's@ /sources/glibc-2\.30/build/@ $(common-objpfx)@g' -e 's@^/sources/glibc-2\.30/build/@$(common-objpfx)@g' -e 's@ *\.\.\/\([^      \]*\)@ $(..)\1@g' -e 's@^\.\.\/\([^ \]*\)@$(..)\1@g' \     /sources/glibc-2.30/build/pthread-errnos.h.dT > /sources/glibc-2.30/build/pthread-errnos.h.dT2
rm -f /sources/glibc-2.30/build/pthread-errnos.h.dT
mv -f /sources/glibc-2.30/build/pthread-errnos.h.dT2 /sources/glibc-2.30/build/pthread-errnos.h.d mv -f /sources/glibc-2.30/build/pthread-errnos.hT /sources/glibc-2.30/build/pthread-errnos.h
/usr/bin/install -c -m 644 ../include/limits.h /usr/include/limits.h
python3 -B ../scripts/gen-as-const.py --cc="gcc -ffile-prefix-map=/tools=/usr -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fstack-protector-strong -Wstrict-prototypes -Wold-style-definition -fmath-errno -ftls-model=initial-exec      -I../include -I/sources/glibc-2.30/build/nptl  -I/sources/glibc-2.30/build -I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64 -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64 -I../sysdeps/x86  -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64  -I../sysdeps/ieee754 -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include /sources/glibc-2.30/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \                    -MD -MP -MF /sources/glibc-2.30/build/pthread-pi-defines.h.dT \                    -MT '/sources/glibc-2.30/build/pthread-pi-defines.h.d /sources/glibc-2.30/build/pthread-pi-defines.h'" \           pthread-pi-defines.sym > /sources/glibc-2.30/build/pthread-pi-defines.hT sed -e 's@ /sources/glibc-2\.30/build/@ $(common-objpfx)@g' -e 's@^/sources/glibc-2\.30/build/@$(common-objpfx)@g' -e 's@ *\.\.\/\([^      \]*\)@ $(..)\1@g' -e 's@^\.\.\/\([^ \]*\)@$(..)\1@g' \     /sources/glibc-2.30/build/pthread-pi-defines.h.dT > /sources/glibc-2.30/build/pthread-pi-defines.h.dT2
rm -f /sources/glibc-2.30/build/pthread-pi-defines.h.dT
mv -f /sources/glibc-2.30/build/pthread-pi-defines.h.dT2 /sources/glibc-2.30/build/pthread-pi-defines.h.d mv -f /sources/glibc-2.30/build/pthread-pi-defines.hT /sources/glibc-2.30/build/pthread-pi-defines.h python3 -B ../scripts/gen-as-const.py --cc="gcc -ffile-prefix-map=/tools=/usr -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fstack-protector-strong -Wstrict-prototypes -Wold-style-definition -fmath-errno -ftls-model=initial-exec      -I../include -I/sources/glibc-2.30/build/nptl  -I/sources/glibc-2.30/build -I../sysdeps/unix/sysv/linux/x86_64/64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64 -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64 -I../sysdeps/x86  -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64  -I../sysdeps/ieee754 -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include /sources/glibc-2.30/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS \                    -MD -MP -MF /sources/glibc-2.30/build/pthread-errnos.h.dT \                    -MT '/sources/glibc-2.30/build/pthread-errnos.h.d /sources/glibc-2.30/build/pthread-errnos.h'" \
          pthread-errnos.sym > /sources/glibc-2.30/build/pthread-errnos.hT
###########

After that, I carefully went over each step of making the Linux API headers and compiling glibc. I discovered my error of using the old initrd file in the boot manager configuration file. I fixed that and rebooted, then again built the API headers for linux-5.5 and then tried glibc again. I got the same endless loop. Then I tried the same thing with linux-5.4.13 and glibc, which last week built with no issues. I got the same endless loop.

Obviously something else has changed, but I have no clue what. Any ideas?

Alan

-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to