LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 09-12-2023, 02:35 AM   #1
raptorfishingbeefweb
LQ Newbie
 
Registered: Jul 2023
Posts: 2

Rep: Reputation: 0
Post LFS 11.3 Installing Basic System Software 8.5.Glibc-2.37 (Header File Missing)


Hey Guys,

In the course of my LFS project, which I continue sporadically here and there, I have recently encountered another problem that I think I have already partially solved.

As the title already indicated, I am already installing Glibc under Chapter 8. Installing Basic System Software. During the Make command, I then noticed two missing header files (at least these apparently resulted in errors), for which I had already done a bit of research myself, but could only really find a solution for one header file.

In the course of my own research, I eventually came across a thread in a forum that seemed to contain a fix for one of the header files, which apparently also worked for me, as the header file in question was eliminated by the following command & No longer occurred with the subsequent Make command as an error.

Code:
root:/mnt/lfs/sources/glibc-2.37# cp --archive /usr/include/asm-generic /usr/include/asm
Code:
root:/mnt/lfs/sources/glibc-2.37# patch -Np1 -i ../glibc-2.37-fhs-1.patch
patching file Makeconfig
Hunk #1 succeeded at 262 (offset 12 lines).
patching file nscd/nscd.h
Hunk #1 succeeded at 160 (offset 48 lines).
patching file nss/db-Makefile
Hunk #1 succeeded at 21 (offset -1 lines).
patching file sysdeps/generic/paths.h
patching file sysdeps/unix/sysv/linux/paths.h
Code:
root:/mnt/lfs/sources/glibc-2.37# sed '/width -=/s/workend - string/number_length/' \
-i stdio-common/vfprintf-process-arg.c
root:/mnt/lfs/sources/glibc-2.37# mkdir -v build
cd build
mkdir: created directory 'build'
root:/mnt/lfs/sources/glibc-2.37/build# echo "rootsbindir=/usr/sbin" > configparms
Code:
root:/mnt/lfs/sources/glibc-2.37/build# ../configure --prefix=/usr \
--disable-werror \
--enable-kernel=3.2 \
--enable-stack-protector=strong \
--with-headers=/usr/include \
libc_cv_slibdir=/usr/lib
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ can link programs... yes
checking for sysdeps preconfigure fragments... aarch64 alpha arc arm csky hppa i386 loongarch m68k microblaze checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
mips nios2 or1k powerpc riscv s390 sh checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/grep -E
sparc x86_64 checking whether gcc compiles in -mx32 mode by default... no

checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for ld... ld
checking version of ld... 2.35.2, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 4.3, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... makeinfo
checking version of makeinfo... 6.7, ok
checking for sed... sed
checking version of sed... 4.7, ok
checking for gawk... gawk
checking version of gawk... 5.1.0, ok
checking for bison... bison
checking version of bison... 3.7.5, ok
checking if gcc is sufficient to build libc... yes
checking for python3... python3
checking version of python3... 3.9.2, ok
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt
*** some features or tests will be disabled.
*** Check the INSTALL file for required versions.
checking for use of fpu sysdeps directories... yes
checking for -fstack-protector... yes
checking for -fstack-protector-strong... yes
checking for -fstack-protector-all... yes
checking for assembler and linker STT_GNU_IFUNC support... yes
checking for gcc attribute ifunc support... yes
checking whether the linker supports textrels along with ifunc... yes
checking for GNU attribute retain support... no
checking if compiler warns about alias for function with incompatible types... yes
checking sysdep dirs... sysdeps/unix/sysv/linux/x86_64/64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/x86 sysdeps/x86/nptl sysdeps/unix/sysv/linux/wordsize-64 sysdeps/x86_64/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/x86_64 sysdeps/unix sysdeps/posix sysdeps/x86_64/64 sysdeps/x86_64/fpu/multiarch sysdeps/x86_64/fpu sysdeps/x86/fpu sysdeps/x86_64/multiarch sysdeps/x86_64 sysdeps/x86 sysdeps/ieee754/float128 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/wordsize-64 sysdeps/ieee754 sysdeps/generic
checking LD_LIBRARY_PATH variable... ok
checking for bash... /usr/bin/bash
checking for perl... /usr/bin/perl
checking for install-info... no
checking for .set assembler directive... yes
checking linker support for protected data symbol... yes
checking linker support for INSERT in linker script... yes
checking for broken __attribute__((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking for libunwind-support in compiler... no
checking whether --noexecstack is desirable for .S files... yes
checking for linker that supports -z execstack... yes
checking for linker that supports -z start-stop-gc... no
checking for linker that supports --depaudit... yes
checking for linker that supports -z pack-relative-relocs... no
checking for linker that supports --no-dynamic-linker... yes
checking for -static-pie... yes
checking for -fpie... yes
checking for GLOB_DAT reloc... yes
checking for -mtls-dialect=gnu2... yes
checking if -Wno-ignored-attributes is required for aliases...
checking whether cc puts quotes around section names... no
checking for __builtin_memset... yes
checking for redirection of built-in functions... yes
checking for compiler option to disable generation of FMA instructions... -ffp-contract=off
checking for compiler option that -fsignaling-nans... -fsignaling-nans
checking if gcc accepts -fno-tree-loop-distribute-patterns with __attribute__ ((__optimize__))... yes
checking for libgd... no
checking for is_selinux_enabled in -lselinux... no
checking for _FORTIFY_SOURCE predefine... no
checking whether the assembler requires one version per symbol... no
checking for __builtin_trap with no external dependencies... yes
checking whether the C++ compiler supports thread_local... yes
running configure fragment for sysdeps/unix/sysv/linux/x86_64/64
running configure fragment for sysdeps/unix/sysv/linux/x86_64
running configure fragment for sysdeps/unix/sysv/linux
checking installed Linux kernel header files... 3.2.0 or later
checking for kernel header at least 3.2... ok
checking for symlinks in /usr/include... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/x86_64
checking -mprefer-vector-width=128... yes
running configure fragment for sysdeps/x86
checking for linker x86 ISA level support... yes
checking for LAHF/SAHF instruction support... no
checking for MOVBE instruction support... no
checking whether -fPIC is default... yes
checking whether -fPIE is default... yes
checking if we can build programs as PIE... yes
checking if we can build static PIE programs... yes
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands
Code:
../sysdeps/unix/sysv/linux/x86/include/asm/prctl.h:5:15: fatal error: asm/prctl.h: No such file or directory
    5 | #include_next <asm/prctl.h>
      |               ^~~~~~~~~~~~~
compilation terminated.
Traceback (most recent call last):
  File "/mnt/lfs/sources/glibc-2.37/csu/../scripts/gen-as-const.py", line 120, in <module>
    main()
  File "/mnt/lfs/sources/glibc-2.37/csu/../scripts/gen-as-const.py", line 116, in main
    consts = glibcextract.compute_c_consts(sym_data, args.cc)
  File "/mnt/lfs/sources/glibc-2.37/scripts/glibcextract.py", line 63, in compute_c_consts
    subprocess.check_call(cmd, shell=True)
  File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'gcc -std=gnu11 -fgnu89-inline  -g -O2 -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno      -ftls-model=initial-exec      -I../include -I/mnt/lfs/sources/glibc-2.37/build/csu  -I/mnt/lfs/sources/glibc-2.37/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  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86/include -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -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-linux-gnu/10/include -isystem /usr/include -D_LIBC_REENTRANT -include /mnt/lfs/sources/glibc-2.37/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h       -DTOP_NAMESPACE=glibc -DGEN_AS_CONST_HEADERS                  -MD -MP -MF /mnt/lfs/sources/glibc-2.37/build/rtld-sizes.h.dT                  -MT '/mnt/lfs/sources/glibc-2.37/build/rtld-sizes.h.d /mnt/lfs/sources/glibc-2.37/build/rtld-sizes.h' -S -o /tmp/tmp9bfslyfx/test.s -x c - < /tmp/tmp9bfslyfx/test.c' returned non-zero exit status 1.
make[2]: *** [../Makerules:271: /mnt/lfs/sources/glibc-2.37/build/rtld-sizes.h] Error 1
make[2]: Leaving directory '/mnt/lfs/sources/glibc-2.37/csu'
make[1]: *** [Makefile:484: csu/subdir_lib] Error 2
make[1]: Leaving directory '/mnt/lfs/sources/glibc-2.37'
make: *** [Makefile:9: all] Error 2
Unfortunately, due to the character limit, I couldn't include the full make command, but you can clearly see that asm/prctl.h is the second header file for which I haven't been able to find a solution yet. As already mentioned before, I was able to fix the header file asm/errno.h with the first command, so that the file no longer appeared as an error with the Make command
 
Old 09-13-2023, 10:53 AM   #2
hazel
LQ Guru
 
Registered: Mar 2016
Location: Harrow, UK
Distribution: LFS, AntiX, Slackware
Posts: 7,579
Blog Entries: 19

Rep: Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453Reputation: 4453
All this should not be necessary. The headers against which glibc are built come from the kernel and there is a section on installing them in chapter 5.4, just before the glibc build. There is a list of the headers at the end of this section.
https://www.linuxfromscratch.org/lfs...x-headers.html
 
  


Reply

Tags
compile, configuration, glibc, installation, linux from scratch



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Cannot get past GDISK- Caution: Invalid backup GPT header, but valid main header, regenerating backup header from main header. murde Linux - Newbie 2 05-30-2020 08:23 PM
How to check missing header files included from another header file adisan82 Linux - Software 1 01-28-2011 03:57 AM
[SOLVED] LFS 6.7 : $LFS/sources and $LFS/tools folders missing prakashsince92 Linux From Scratch 5 12-09-2010 02:26 PM
RH 9.0 glibc rpm says it needs glibc-common, but glibc-common is installed whitshade Red Hat 2 04-28-2007 05:49 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 12:07 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration