[blfs-support] gcc-4.9.2 installed with --disable-bootstrap

Pierre Labastie pierre.labastie at neuf.fr
Sat Nov 15 06:28:21 PST 2014

Le 15/11/2014 13:43, Fernando a écrit :
> Hi Pierre,
> I installed gcc-4.9.2 when the ticket was still open. Today, after some
> problems with kdepin-4.14.3, comparing my instructions, I saw that
> switch, in my script:
>               --disable-bootstrap         \
> Should it make such a difference that I should reinstall it without that
> switch?
> I also use
>               --enable-languages=c,c++,fortran,go,objc,obj-c++
> but don't think this is a problem.

Well, all I can tell you is already in the book ;-):
"The instructions below are intentionally performing a “bootstrap” process.
Bootstrapping is needed for robustness and is highly recommended when
upgrading the compilers version. To disable bootstrap anyways, add
--disable-bootstrap to the ./configure options below."

The problem with compilers is that they have to compile themselves
(bootstrap). If you disable bootstrap, you compile gcc-4.9.2 with gcc-4.9.1
(or any previous version), and stop there. Bootstrapping allows to first build
gcc-<new-version> with gcc-<old-version>, then immediately recompile
gcc-<new-version> with the just built gcc-<new-version>. In a perfect world,
that should be enough, but the GCC devs have added a third stage, where they
again recompile gcc-<new-version> with the compiler obtained at stage 2. They
then compare the third stage compiler with the second stage compiler, and fail
if there is too much difference. Then, the libraries and other compilers
(obj-c, fortran,...) are compiled with the C/C++ compilers obtained at stage 3.

Of course, the first stage could be enough, but I am almost sure upstream
always test with bootstrapping, so they'll never warrant that stage 1 is enough.

So, if you are not in a hurry, always "use bootstrap, Luke"...



More information about the blfs-support mailing list