From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.oetec.com (mail.oetec.com [108.160.241.186]) by sourceware.org (Postfix) with ESMTPS id 0B8E43839C67 for ; Fri, 13 May 2022 22:06:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0B8E43839C67 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-oetec-MailScanner-From: dclarke@blastwave.org X-oetec-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-5.997, required 6, autolearn=not spam, ALL_TRUSTED -1.00, BAYES_00 -1.90, DKIM_SIGNED 0.10, DKIM_VALID -0.10, DKIM_VALID_AU -0.10, DKIM_VALID_EF -0.10, NICE_REPLY_A -2.89, T_SCC_BODY_TEXT_LINE -0.01, URIBL_BLOCKED 0.00) X-oetec-MailScanner: Found to be clean X-oetec-MailScanner-ID: 24DM69b5001097 X-oetec-MailScanner-Information: Please contact oetec for more information Received: from [10.14.0.4] (static-198-54-132-37.cust.tzulo.com [198.54.132.37]) (authenticated bits=0) by mail.oetec.com (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 24DM69b5001097 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Fri, 13 May 2022 18:06:11 -0400 Message-ID: Date: Fri, 13 May 2022 18:06:09 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: bootstrap fails on Debian ppc64 with fatal error: bits/libc-header-start.h: No such file or directory Content-Language: en-US To: Jonathan Wakely Cc: gcc-help References: <7f1f1a2f-6c9f-d3ad-8aa1-499c87eb8caf@blastwave.org> <05fc1487-9080-5822-4e32-81cf49d13961@blastwave.org> <91d0b89c-2001-1b2c-cbd7-d9b390c9ee8b@blastwave.org> From: Dennis Clarke In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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: Fri, 13 May 2022 22:06:19 -0000 On 5/13/22 17:03, Jonathan Wakely wrote: > On Fri, 13 May 2022 at 21:55, Dennis Clarke wrote: >> However "configure" always runs just fine regardless of much of anything >> other than the mysterious --with-gmp and mpfr and mpc options. If I do >> not provide those *and* also have the sources extracted into the gcc >> source tree then I get a complaint and configure fails. If I do provide >> those *and* yes the libs have been prebuilt *and* the sources are in the >> gcc source tree then I get no complaint and the compile then rebuilds >> them anyways. No idea why. [1] > > Honestly, I find that hard to believe. Me too! > > One or the other is needed. If you need both, I think you're the only > person in the world who needs that. > Not bloody likely right? I am looking into that and I think the real issue is that the versions wanted in the source tree must be the same as the stuff dragging in by the script kicker download_prerequisites : https://gcc.gnu.org/install/prerequisites.html The in-tree build is only supported with the GMP version that download_prerequisites installs. However what do I know? There is another page that says do a bootstrap4 for extra spice and flavour in your result. That doesn't fly. >> enceladus$ >> enceladus$ ls -lapb --full-time ./stage1-gcc/xgcc ./prev-gcc/xgcc ./gcc/xgcc >> -rwxr-xr-x 1 dclarke devl 5981584 2022-05-13 20:17:17.398378278 +0000 >> ./gcc/xgcc >> -rwxr-xr-x 1 dclarke devl 2077720 2022-05-13 19:34:28.401954705 +0000 >> ./prev-gcc/xgcc >> -rwxr-xr-x 1 dclarke devl 5145688 2022-05-13 17:18:49.299039174 +0000 >> ./stage1-gcc/xgcc >> enceladus$ >> >> No stage4 result but whatever :\ we didn't want that anyways ? > > Good, there should only be three stages. > I gather that now. Maybe the page that says "bootstrap4" could have a line like "we don't know if this works" or words to that effect. :-\ https://gcc.gnu.org/install/build.html > >> 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... no >> configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC >> 0.8.0+. > > Which version of mpc have you got in the GCC source tree, and how did > you add it there? > Whoa ... hold on a sec. I generally never use the little magic script download_prerequisites. I had better check that : hydra# head ./contrib/download_prerequisites #! /bin/sh #! -*- coding:utf-8; mode:shell-script; -*- # Download some prerequisites needed by GCC. # Run this from the top level of the GCC source tree and the GCC build will do # the right thing. Run it with the `--help` option for more information. # # (C) 2010-2021 Free Software Foundation # Sure. Right. Let's just see : hydra# ./contrib/download_prerequisites --help wget: not found usage: download_prerequisites [OPTION...] Downloads some prerequisites needed by GCC. Run this from the top level of the GCC source tree and the GCC build will do the right thing. The following options are available: --directory=DIR download and unpack packages into DIR instead of '.' --force download again overwriting existing packages --no-force do not download existing packages again (default) --isl download ISL, needed for Graphite loop optimizations (default) --graphite same as --isl --no-isl don't download ISL --no-graphite same as --no-isl --verify verify package integrity after download (default) --no-verify don't verify package integrity --sha512 use SHA512 checksum to verify package integrity (default) --md5 use MD5 checksum to verify package integrity --help show this text and exit --version show version information and exit hydra# Okay so it needs 'wget'. Fine. Easy to fix that. hydra# ./contrib/download_prerequisites 2022-05-13 21:53:14 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 [2493916/2493916] -> "gmp-6.2.1.tar.bz2" [1] 2022-05-13 21:53:14 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 [1747243/1747243] -> "mpfr-4.1.0.tar.bz2" [1] 2022-05-13 21:53:15 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz [838731/838731] -> "mpc-1.2.1.tar.gz" [1] 2022-05-13 21:53:16 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.24.tar.bz2 [2261594/2261594] -> "isl-0.24.tar.bz2" [1] gmp-6.2.1.tar.bz2: OK mpfr-4.1.0.tar.bz2: OK mpc-1.2.1.tar.gz: OK isl-0.24.tar.bz2: OK All prerequisites downloaded successfully. hydra# * * * Those versions all look perfect. * * * Same stuff I use however the mpfr *needs* a patch. hydra# ls -lap /opt/bw/src total 150124 drwxrwxr-x 2 root devl 8 May 13 21:37 ./ drwxr-xr-x 4 root wheel 4 May 13 21:32 ../ -rw-r--r-- 1 dclarke devl 145089078 May 13 21:31 gcc-12.1.0.tar.gz -rw-r--r-- 1 dclarke devl 2493916 May 13 21:34 gmp-6.2.1.tar.bz2 -rw-r--r-- 1 dclarke devl 2757038 May 13 21:37 isl-0.24.tar.gz -rw-r--r-- 1 dclarke devl 838731 May 13 21:36 mpc-1.2.1.tar.gz -rw-r--r-- 1 dclarke devl 2357295 May 13 21:35 mpfr-4.1.0.tar.gz -rw-r--r-- 1 dclarke devl 104646 May 13 21:35 mpfr-4.1.0_patch hydra# > What does 'ls -d ../gcc-12.1.0/mpc*' show? > hydra# pwd /opt/bw/build/gcc-12.1.0 hydra# ls -ladb mpc* lrwxr-xr-x 1 root 1000 12 May 13 21:53 mpc -> ./mpc-1.2.1/ drwxr-xr-x 8 admsys 998 22 Oct 20 2020 mpc-1.2.1 -rw-r--r-- 1 root 1000 838731 Oct 23 2020 mpc-1.2.1.tar.gz hydra# hydra# ls -ladb gmp* lrwxr-xr-x 1 root 1000 12 May 13 21:53 gmp -> ./gmp-6.2.1/ drwxrwxr-x 15 1006 1006 75 Nov 14 2020 gmp-6.2.1 -rw-r--r-- 1 root 1000 2493916 Nov 14 2020 gmp-6.2.1.tar.bz2 hydra# hydra# ls -ladb mpfr* lrwxr-xr-x 1 root 1000 13 May 13 21:53 mpfr -> ./mpfr-4.1.0/ drwxr-xr-x 9 1000 1000 36 Jul 10 2020 mpfr-4.1.0 -rw-r--r-- 1 root 1000 1747243 Jul 10 2020 mpfr-4.1.0.tar.bz2 hydra# hydra# ls -ladb isl* lrwxr-xr-x 1 root 1000 11 May 13 21:53 isl -> ./isl-0.24/ drwxrwxr-x 11 1000 1000 323 May 1 2021 isl-0.24 -rw-r--r-- 1 root 1000 2261594 May 1 2021 isl-0.24.tar.bz2 hydra# That is precisely what I have in every machine where I try this process. Unless the configure process goes looking for the left over tar files? I must have made a mistake somewhere. # cd /opt/bw/build/gcc-12.1.0 # ls -ladb gmp* mpfr* mpc* lrwxrwxrwx 1 root root 9 May 6 17:04 gmp -> gmp-6.2.1 drwxrwxr-x 15 1006 1006 4096 Nov 14 2020 gmp-6.2.1 lrwxrwxrwx 1 root root 9 May 6 17:04 mpc -> mpc-1.2.1 drwxr-xr-x 8 1001 998 4096 Oct 20 2020 mpc-1.2.1 lrwxrwxrwx 1 root root 10 May 6 17:04 mpfr -> mpfr-4.1.0 drwxr-xr-x 9 linaro linaro 4096 Jul 10 2020 mpfr-4.1.0 # Let me dig around a bit and see what is going on. > What does config.log (in the build dir) say before it fails? It should > tell you where it found mpc.h and which version it found. I deleted the failed build dir(s) to save on a bit of space. I will repeat the experiment. Once more with feeling. Oh also .. closed this bug thanks to great help! stage2 failure due to .... stuff https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88633 OKay ... I will try the configure script with and without running the download_prerequisites goodness. -- Dennis Clarke RISC-V/SPARC/PPC/ARM/CISC UNIX and Linux spoken GreyBeard and suspenders optional