public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dennis Clarke <dclarke@blastwave.org>
To: Jonathan Wakely <jwakely.gcc@gmail.com>
Cc: gcc-help <gcc-help@gcc.gnu.org>
Subject: Re: bootstrap fails on Debian ppc64 with fatal error: bits/libc-header-start.h: No such file or directory
Date: Fri, 13 May 2022 18:06:09 -0400	[thread overview]
Message-ID: <ba4fc7cd-f905-3a46-8d58-df28dfea10a5@blastwave.org> (raw)
In-Reply-To: <CAH6eHdSWEK9BjmFiv5CsRahP2nYpY+YjYKss-TxB1yHMJgL+ag@mail.gmail.com>

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

  reply	other threads:[~2022-05-13 22:06 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 15:11 Dennis Clarke
2022-05-13 15:24 ` Xi Ruoyao
2022-05-13 15:31   ` Xi Ruoyao
2022-05-13 16:15 ` Dennis Clarke
2022-05-13 16:20   ` Xi Ruoyao
2022-05-13 16:43     ` Jonathan Wakely
2022-05-13 20:54       ` Dennis Clarke
2022-05-13 21:03         ` Jonathan Wakely
2022-05-13 22:06           ` Dennis Clarke [this message]
2022-05-13 22:49             ` Jonathan Wakely
2022-05-13 23:21               ` Dennis Clarke
2022-05-14  7:06                 ` Jonathan Wakely
2022-05-14 16:42                   ` Dennis Clarke
2022-05-13 17:29     ` Segher Boessenkool

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=ba4fc7cd-f905-3a46-8d58-df28dfea10a5@blastwave.org \
    --to=dclarke@blastwave.org \
    --cc=gcc-help@gcc.gnu.org \
    --cc=jwakely.gcc@gmail.com \
    /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).