From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id A60013858405 for ; Mon, 9 May 2022 18:51:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A60013858405 Received: by mail-wr1-x429.google.com with SMTP id b19so20698294wrh.11 for ; Mon, 09 May 2022 11:51:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GQJa+9QlFqxfQCkc5+4b6kMRj7uPv3xWvNEZOgXfECM=; b=BXu6FPA4Ev6UIEoSoLMgfxwI6qo12joHlOnLSRrqAl2KVcOlC/dlLHAdZveiCG/EMK mfjMFElrt7vtLqKvyoKeVO8VvS5JuiavUx5Gozx/YQuIj0/Z/9+5/iMtcIY6Az05CK4/ zZXjxelzfpzDVaDQCMjnH93M1Xlgh1cp256HUHRQ0WvtKI7IrgknB7fIDuWty4Q8W15G 2vj48ZFyD8piX5qwijr6ALmd+qB+hR61pbnq6iYFwPgKw55RQ1GFypWLOhgx3GWlqTfE E5KNVxTVHRVPZ3/tmzAtK8fRkUjxQLz3gmT/2NK8o+RqSkXm5DR6RkpNGUeULVVTSllN X/6g== X-Gm-Message-State: AOAM531x/WSrjqgtWhhZP4CwvEaQuFP5G5wkA7ozV0dBuuHzNsnN4F2l FDlkkLO5wfBolmxYmX3gWMZr0rnldVh0gjzriac= X-Google-Smtp-Source: ABdhPJwuVGnjEj9U2FVbcublw0b20JMscpJBX19gyssKx56ji2P7C9tFJI+1Byej7mZQRrCfrmCUfggYjfryCcU9z/4= X-Received: by 2002:a5d:4806:0:b0:20a:da03:711b with SMTP id l6-20020a5d4806000000b0020ada03711bmr14974847wrq.395.1652122284057; Mon, 09 May 2022 11:51:24 -0700 (PDT) MIME-Version: 1.0 References: <78ed50e6-c0b5-1002-49a4-e11ec14ee727@blastwave.org> In-Reply-To: <78ed50e6-c0b5-1002-49a4-e11ec14ee727@blastwave.org> From: Jonathan Wakely Date: Mon, 9 May 2022 19:51:11 +0100 Message-ID: Subject: Re: stage1 gcc bootstrap fails looking for bits/libc-header-start.h To: Dennis Clarke Cc: gcc-help X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 May 2022 18:51:30 -0000 On Mon, 9 May 2022, 18:16 Dennis Clarke via Gcc-help, 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 > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 >