From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by sourceware.org (Postfix) with ESMTPS id 9C5A73858405 for ; Mon, 9 May 2022 18:53:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9C5A73858405 Received: by mail-wr1-x42f.google.com with SMTP id k2so20700572wrd.5 for ; Mon, 09 May 2022 11:53:44 -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=d6+PiUInF3LNBnlIji5kDOyKDGlMXqfkGCdr7stq37c=; b=r/Jhfkjhhg8ugq4XcWq0zZfgHrawXy4NQQkYY+lGE0hwQo+7wf89zSMlWBHHDqROu6 HTrg1cf7VX7ym+yEpyaTmkeXEtM06FN9X4oSJWUramNwyQGVV/sGnN9gnlTpHXP/Wr8H L1s7AMDPzjtZbK2+XC1+U1VkKWw+gdUhE15EFA3t1e3SwGBvbAa9avUKX527KeVgrZGn JZpnh+deDTUjcoEucmaux4XJjhbQ7YIyT3QAr7HEBDGSlsw3ZOn0Chu7SteHY4KF0hH8 GVi+QbQSlTu3ORvEJ+ASEcXBrdrOXw1DJwaGC5f1dkVu7odTAM9UMFGzqtZhormnhMhE uWqg== X-Gm-Message-State: AOAM533+rm5nUvHAYXwqbU0EjfPtEbcnOON5vfUFyx6gh58drX3NcknY u1du8oeY8LUGFd9faIly9D1QvWAjBkJnYDIG+J9s8c3H X-Google-Smtp-Source: ABdhPJxesxHFL6ZLejEKtpvXCKEGZz8eo37E3VBV4J6hsbwQSKjH+Xkg2794mPOfg6siiX8T14x1CSvKIT/oA26MplE= X-Received: by 2002:a5d:4806:0:b0:20a:da03:711b with SMTP id l6-20020a5d4806000000b0020ada03711bmr14982840wrq.395.1652122423292; Mon, 09 May 2022 11:53:43 -0700 (PDT) MIME-Version: 1.0 References: <78ed50e6-c0b5-1002-49a4-e11ec14ee727@blastwave.org> In-Reply-To: From: Jonathan Wakely Date: Mon, 9 May 2022 19:53:30 +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:53:48 -0000 Oh sorry, I didn't see you already had an answer. Luckily we agreed on the problem and the solution :-) On Mon, 9 May 2022, 19:51 Jonathan Wakely, wrote: > > > 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 >> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ >> 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 >> >