This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Fwd: Help about how to bootstrap gcc with local version glibc other than system one
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Mon, 1 Feb 2016 17:13:14 +0000
- Subject: Fwd: Help about how to bootstrap gcc with local version glibc other than system one
- Authentication-results: sourceware.org; auth=none
- References: <CAHFci2-MGvGREn85cu91U_KT0bqsgMuCWsfON42u5ENJaiaH4w at mail dot gmail dot com>
---------- Forwarded message ----------
From: Bin.Cheng <amker.cheng@gmail.com>
Date: Mon, Feb 1, 2016 at 5:02 PM
Subject: Help about how to bootstrap gcc with local version glibc
other than system one
To: "gcc@gcc.gnu.org" <gcc@gcc.gnu.org>
Hi,
Recently I tried to bootstrap gcc against new glibc but failed. What
I want to do is just bootstrap gcc against local version glibc other
than system one, because I can't update glibc in that system.
I tried this by configuring GCC using "--with-build-sysroot" or
"--with-sysroot" or both, but all failed.
When "--with-build-sysroot" is used, stage2 gcc failed when building
internal binaries like genautomata, because it uses system version
glibc and stage1 libstdc++. Apparently these two libraries are
incompatible because stage1 libstdc++ is built against new glibc.
When "--with-sysroot" is used, stage1 gcc failed when building libgcc,
because it tried to find sysroot in build directory according to how
sysroot is relocated in GCC. Apparently this doesn't exist because
xgcc doesn't come from toolchain distribution.
When "--with-sysroot" and "--with-build-sysroot" are used, stage2 GCC
failed when configuring itself because some configuration check cannot
find correct sysroot (standard headers like stdio.h).
Seems to me Andrew was right in comment of PR69559, that we simply
couldn't bootstrap GCC with sysroot.
My question here is: If this is the case, how should I bootstrap a gcc
against local version glibc, rather than the system one? Is chroot
the only way to do that?
Thanks,
bin
I realized this is actually a gcc-help question. Sorry for disturbing.
Thanks,
bin