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.
next prev parent 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).