public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely.gcc@gmail.com>
To: Dennis Clarke <dclarke@blastwave.org>
Cc: gcc-help <gcc-help@gcc.gnu.org>
Subject: Re: stage1 gcc bootstrap fails looking for bits/libc-header-start.h
Date: Mon, 9 May 2022 19:51:11 +0100	[thread overview]
Message-ID: <CAH6eHdTZEdJE+gBCOU9_dqfi6NdafX=vv7bA2aVhduEQ2OkZmA@mail.gmail.com> (raw)
In-Reply-To: <78ed50e6-c0b5-1002-49a4-e11ec14ee727@blastwave.org>

On Mon, 9 May 2022, 18:16 Dennis Clarke via Gcc-help, <gcc-help@gcc.gnu.org>
wrote:

>
> Not sure what is causing this on a Linux armv7 32-bit machine but I have
> libc6-dev installed and that provides :
>
> # ls -lapb /usr/include/arm-linux-gnueabihf/bits/libc-header-start.h
>


But this is not a standard header location, so GCC won't look there.

You need to use --enable-multiarch to use the Debian MultiArch directory
layout.



> This is a reasonable little Debian machine :
>
> root@io:~# uname -a
> Linux io 4.4.194 #52 SMP Tue Oct 26 08:35:58 UTC 2021 armv7l GNU/Linux
> root@io:~#
> root@io:~# cat /etc/debian_version
> 10.10
> root@io:~#
>
> Nothing fancy here.
>
> Configure stage is fine regardless if I try to specify --build and
> target and host or not.
>
> For example :
>
> io$ date -u
> Mon 09 May 2022 03:24:25 PM UTC
> io$ CC='gcc -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm' \
>  > CXX='g++ -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm' \
>  > LD_RUN_PATH='/opt/gcc/imed/gcc12/lib:/opt/bw/lib' \
>  > ../gcc-12.1.0/configure \
>  > --build=arm-linux-gnueabihf \
>  > --target=arm-linux-gnueabihf \
>  > --host=arm-linux-gnueabihf \
>  > --prefix=/opt/gcc/imed/gcc12 \
>  > --disable-nls --enable-threads=posix --enable-shared \
>  > --with-gmp=/opt/bw --with-mpfr=/opt/bw --with-mpc=/opt/bw \
>  > --enable-bootstrap --enable-languages=ada,c,c++,fortran \
>  > --enable-stage1-languages=c,c++ --enable-stage1-checking=misc
> checking build system type... arm-unknown-linux-gnueabihf
> checking host system type... arm-unknown-linux-gnueabihf
> checking target system type... arm-unknown-linux-gnueabihf
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether ln works... yes
> checking whether ln -s works... yes
> checking for a sed that does not truncate output... /bin/sed
> checking for gawk... no
> checking for mawk... mawk
> checking for libatomic support... yes
> checking for libitm support... yes
> checking for libsanitizer support... yes
> checking for libvtv support... yes
> checking for libphobos support... yes
> checking for arm-linux-gnueabihf-gcc... gcc -march=armv7-a
> -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16
> -marm accepts -g... yes
> checking for gcc -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm
> option to accept ISO C89... none needed
> checking for gcc -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16 -marm
> option to accept ISO C99... none needed
> checking whether we are using the GNU C++ compiler... yes
> checking whether g++ -march=armv7-a -mtune=cortex-a17 -mfpu=vfpv4-d16
> -marm accepts -g... yes
> checking whether g++ accepts -static-libstdc++ -static-libgcc... yes
> checking for arm-linux-gnueabihf-gnatbind... arm-linux-gnueabihf-gnatbind
> checking for arm-linux-gnueabihf-gnatmake... arm-linux-gnueabihf-gnatmake
> checking whether compiler driver understands Ada... yes
> checking for arm-linux-gnueabihf-gdc... no
> checking for gdc... no
> checking whether the D compiler works... no
> checking how to compare bootstrapped objects... cmp --ignore-initial=16
> $$f1 $$f2
> checking for objdir... .libs
> checking for the correct version of gmp.h... yes
> checking for the correct version of mpfr.h... yes
> checking for the correct version of mpc.h... yes
> checking for the correct version of the gmp/mpfr/mpc libraries... yes
> checking for isl 0.15 or later... no
> required isl version is 0.15 or later
> The following languages will be built: c,ada,c++,fortran,lto
> *** This configuration is not supported in the following subdirectories:
>       gotools target-libphobos target-zlib target-libgo target-libffi
> target-libobjc target-liboffloadmic
>      (Any other directories should still work fine.)
> checking for default BUILD_CONFIG... bootstrap-debug
> checking for --enable-vtable-verify... no
> checking for bison... no
> checking for byacc... no
> checking for yacc... no
> checking for bison... no
> checking for gm4... no
> checking for gnum4... no
> checking for m4... m4
> checking for flex... no
> checking for lex... no
> checking for flex... no
> checking for makeinfo... no
> /opt/bw/build/gcc-12.1.0/missing: 81: /opt/bw/build/gcc-12.1.0/missing:
> makeinfo: not found
> checking for expect... no
> checking for runtest... no
> checking for ar... (cached) /usr/bin/ar
> checking for arm-linux-gnueabihf-ar... (cached) /usr/bin/ar
> checking for as... (cached) /usr/bin/as
> checking for arm-linux-gnueabihf-as... (cached) /usr/bin/as
> checking for arm-linux-gnueabihf-dlltool... no
> checking for dlltool... no
> checking for arm-linux-gnueabihf-dsymutil... no
> checking for dsymutil... no
> checking for arm-linux-gnueabihf-ld... arm-linux-gnueabihf-ld
> checking for arm-linux-gnueabihf-lipo... no
> checking for lipo... no
> checking for nm... (cached) /usr/bin/nm -p
> checking for arm-linux-gnueabihf-nm... (cached) /usr/bin/nm -p
> checking for ranlib... (cached) /usr/bin/ranlib
> checking for arm-linux-gnueabihf-ranlib... (cached) /usr/bin/ranlib
> checking for arm-linux-gnueabihf-strip... arm-linux-gnueabihf-strip
> checking for arm-linux-gnueabihf-windres... no
> checking for windres... no
> checking for arm-linux-gnueabihf-windmc... no
> checking for windmc... no
> checking for arm-linux-gnueabihf-objcopy... arm-linux-gnueabihf-objcopy
> checking for arm-linux-gnueabihf-objdump... arm-linux-gnueabihf-objdump
> checking for arm-linux-gnueabihf-otool... no
> checking for otool... no
> checking for arm-linux-gnueabihf-readelf... arm-linux-gnueabihf-readelf
> checking for arm-linux-gnueabihf-cc... no
> checking for cc... cc
> checking for arm-linux-gnueabihf-c++... no
> checking for c++... c++
> checking for arm-linux-gnueabihf-gcc... arm-linux-gnueabihf-gcc
> checking for arm-linux-gnueabihf-gfortran... no
> checking for gfortran... no
> checking for arm-linux-gnueabihf-gccgo... no
> checking for gccgo... no
> checking for arm-linux-gnueabihf-gdc... no
> checking for gdc... no
> checking for ar... no
> checking for arm-linux-gnueabihf-ar... arm-linux-gnueabihf-ar
> checking for as... no
> checking for arm-linux-gnueabihf-as... arm-linux-gnueabihf-as
> checking for dlltool... no
> checking for arm-linux-gnueabihf-dlltool... no
> checking for dlltool... no
> checking for dsymutil... no
> checking for arm-linux-gnueabihf-dsymutil... no
> checking for dsymutil... no
> checking for ld... no
> checking for arm-linux-gnueabihf-ld... arm-linux-gnueabihf-ld
> checking for lipo... no
> checking for arm-linux-gnueabihf-lipo... no
> checking for lipo... no
> checking for nm... no
> checking for arm-linux-gnueabihf-nm... arm-linux-gnueabihf-nm
> checking for objcopy... no
> checking for arm-linux-gnueabihf-objcopy... arm-linux-gnueabihf-objcopy
> checking for objdump... no
> checking for arm-linux-gnueabihf-objdump... arm-linux-gnueabihf-objdump
> checking for otool... no
> checking for arm-linux-gnueabihf-otool... no
> checking for otool... no
> checking for ranlib... no
> checking for arm-linux-gnueabihf-ranlib... arm-linux-gnueabihf-ranlib
> checking for readelf... no
> checking for arm-linux-gnueabihf-readelf... arm-linux-gnueabihf-readelf
> checking for strip... no
> checking for arm-linux-gnueabihf-strip... arm-linux-gnueabihf-strip
> checking for windres... no
> checking for arm-linux-gnueabihf-windres... no
> checking for windres... no
> checking for windmc... no
> checking for arm-linux-gnueabihf-windmc... no
> checking for windmc... no
> checking where to find the target ar... host tool
> checking where to find the target as... host tool
> checking where to find the target cc... just compiled
> checking where to find the target c++... just compiled
> checking where to find the target c++ for libstdc++... just compiled
> checking where to find the target dlltool... host tool
> checking where to find the target dsymutil... host tool
> checking where to find the target gcc... just compiled
> checking where to find the target gfortran... just compiled
> checking where to find the target gccgo... host tool
> checking where to find the target gdc... host tool
> checking where to find the target ld... host tool
> checking where to find the target lipo... host tool
> checking where to find the target nm... host tool
> checking where to find the target objcopy... host tool
> checking where to find the target objdump... host tool
> checking where to find the target otool... host tool
> checking where to find the target ranlib... host tool
> checking where to find the target readelf... host tool
> checking where to find the target strip... host tool
> checking where to find the target windres... host tool
> checking where to find the target windmc... host tool
> checking whether to enable maintainer-specific portions of Makefiles... no
> configure: creating ./config.status
> config.status: creating Makefile
> io$
>
> Really I have tried with and without the triplet arm-linux-gnueabihf and
> eventually I see the same error :
>
>
> .
> .
> .
> /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003/./gcc/xgcc
> -B/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003/./gcc/
> -B/opt/gcc/imed/gcc12/arm-linux-gnueabihf/bin/
> -B/opt/gcc/imed/gcc12/arm-linux-gnueabihf/lib/ -isystem
> /opt/gcc/imed/gcc12/arm-linux-gnueabihf/include -isystem
> /opt/gcc/imed/gcc12/arm-linux-gnueabihf/sys-include   -fno-checking -g
> -O2 -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings
> -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes
> -Wold-style-definition  -isystem ./include   -fPIC -fno-inline -g
> -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -fno-inline
> -I. -I. -I../.././gcc -I../../../gcc-12.1.0/libgcc
> -I../../../gcc-12.1.0/libgcc/. -I../../../gcc-12.1.0/libgcc/../gcc
> -I../../../gcc-12.1.0/libgcc/../include  -DHAVE_CC_TLS   -o _negdi2.o
> -MT _negdi2.o -MD -MP -MF _negdi2.dep -DL_negdi2 -c
> ../../../gcc-12.1.0/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
> /opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003/./gcc/xgcc
> -B/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003/./gcc/
> -B/opt/gcc/imed/gcc12/arm-linux-gnueabihf/bin/
> -B/opt/gcc/imed/gcc12/arm-linux-gnueabihf/lib/ -isystem
> /opt/gcc/imed/gcc12/arm-linux-gnueabihf/include -isystem
> /opt/gcc/imed/gcc12/arm-linux-gnueabihf/sys-include   -fno-checking -g
> -O2 -O2  -g -O2 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings
> -Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes
> -Wold-style-definition  -isystem ./include   -fPIC -fno-inline -g
> -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC -fno-inline
> -I. -I. -I../.././gcc -I../../../gcc-12.1.0/libgcc
> -I../../../gcc-12.1.0/libgcc/. -I../../../gcc-12.1.0/libgcc/../gcc
> -I../../../gcc-12.1.0/libgcc/../include  -DHAVE_CC_TLS   -o _cmpdi2.o
> -MT _cmpdi2.o -MD -MP -MF _cmpdi2.dep -DL_cmpdi2 -c
> ../../../gcc-12.1.0/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
> In file included from ../../../gcc-12.1.0/libgcc/../gcc/tsystem.h:87,
>                   from ../../../gcc-12.1.0/libgcc/libgcc2.c:27:
> /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No
> such file or directory
>     27 | #include <bits/libc-header-start.h>
>        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[3]: *** [Makefile:501: _muldi3.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> In file included from ../../../gcc-12.1.0/libgcc/../gcc/tsystem.h:87,
>                   from ../../../gcc-12.1.0/libgcc/libgcc2.c:27:
> /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No
> such file or directory
>     27 | #include <bits/libc-header-start.h>
>        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> In file included from ../../../gcc-12.1.0/libgcc/../gcc/tsystem.h:87,
>                   from ../../../gcc-12.1.0/libgcc/libgcc2.c:27:
> /usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No
> such file or directory
>     27 | #include <bits/libc-header-start.h>
>        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[3]: *** [Makefile:501: _negdi2.o] Error 1
> make[3]: *** [Makefile:501: _cmpdi2.o] Error 1
> make[3]: Leaving directory
>
> '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003/arm-linux-gnueabihf/libgcc'
> make[2]: *** [Makefile:24186: all-stage1-target-libgcc] Error 2
> make[2]: Leaving directory
> '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003'
> make[1]: *** [Makefile:29980: stage1-bubble] Error 2
> make[1]: Leaving directory
> '/opt/bw/build/gcc-12.1.0_debian_10_armv7l_imed.003'
> make: *** [Makefile:30381: bootstrap] Error 2
> Command exited with non-zero status 2
> $
>
> Even after looking at :
>
>      https://gcc.gnu.org/pipermail/gcc-help/2021-June/140387.html
>
> I don't quite see what prerequisite is needed here.
>
>
> --
> Dennis Clarke
> RISC-V/SPARC/PPC/ARM/CISC
> UNIX and Linux spoken
> GreyBeard and suspenders optional
>

  parent reply	other threads:[~2022-05-09 18:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09 17:15 Dennis Clarke
2022-05-09 18:14 ` Xi Ruoyao
2022-05-09 18:51 ` Jonathan Wakely [this message]
2022-05-09 18:53   ` Jonathan Wakely
2022-05-09 18:58   ` Dennis Clarke
2022-05-09 19:42     ` Jonathan Wakely
2022-05-09 19:49       ` Dennis Clarke
2022-05-10  0:53   ` Dennis Clarke
2022-05-10  5:50     ` Xi Ruoyao
2022-05-10  7:00     ` Jonathan Wakely
2022-05-10 15:51       ` Dennis Clarke
2022-05-10 15:54         ` Xi Ruoyao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH6eHdTZEdJE+gBCOU9_dqfi6NdafX=vv7bA2aVhduEQ2OkZmA@mail.gmail.com' \
    --to=jwakely.gcc@gmail.com \
    --cc=dclarke@blastwave.org \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).