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: bootstrap fails on Debian ppc64 with fatal error: bits/libc-header-start.h: No such file or directory
Date: Fri, 13 May 2022 23:49:57 +0100	[thread overview]
Message-ID: <CAH6eHdQwzs44JthZoS6DGZQLYaD+wpWg0aiXudP8MkY6zPoZ-g@mail.gmail.com> (raw)
In-Reply-To: <ba4fc7cd-f905-3a46-8d58-df28dfea10a5@blastwave.org>

On Fri, 13 May 2022 at 23:06, Dennis Clarke <dclarke@blastwave.org> wrote:
>
> 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.

Right, you should be using that script.

https://gcc.gnu.org/wiki/InstallingGCC

Or (as that page says) just install the debian packages and stop
installing them by hand.


> 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.

Well stop trying to do weird stuff and just Keep It Simple.

>
>
> >> 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 :

You should use it. It makes everything much simpler than you're making it.

>
> 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...]

> Okay so it needs 'wget'. Fine. Easy to fix that.

It uses curl instead if wget is not found. Most people have one or the
other already installed.

> Same stuff I use however the mpfr *needs* a patch.

Eh? Why?

>
>
> 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.

But it wouldn't complain about the mpc version if that was the case.

> Unless the configure process goes looking for the left over tar files?

No.

> 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 would also delete the source tree and untar it again, in case you've
fouled it up somehow. And then run contrib/download_prerequisites
again.

  reply	other threads:[~2022-05-13 22:50 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
2022-05-13 22:49             ` Jonathan Wakely [this message]
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=CAH6eHdQwzs44JthZoS6DGZQLYaD+wpWg0aiXudP8MkY6zPoZ-g@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).