This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Newb build fails: -Werrors then Bootstrap comparison failure!
On Wed, 5 Sep 2018 at 21:14, will wray <wjwray@gmail.com> wrote:
>
> Following instructions here: https://gcc.gnu.org/install/index.html
> on Fedora 28 with gcc (GCC) 8.1.1 20180712 (Red Hat 8.1.1-5).
>
> First, the build hit a couple of -Werror fails so I reconfigured with
> -disable-werror
> then I get: Comparing stages 2 and 3, Bootstrap comparison failure!
>
> Do I disable comparison? Disable bootstrap?
> Any other suggestions on doing a fresh build?
>
> > svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc
> > mkdir build
> > cd build
> > mkdir gcc
> > mkdir install
> > cd gcc
> > ../../gcc/configure --prefix=$HOME/repos/build/install
> --enable-languages=c,c++ --disable-multilib
> > make BOOT_CFLAGS='-O' bootstrap
>
> ...
> ./insn-opinit.h:358:40: error: ‘icode’ may be used uninitialized in this
> function [-Werror=maybe-uninitialized]
> 358 | #define GEN_FCN(CODE) (insn_data[CODE].genfun)
> ...
> ../../../gcc/gcc/config/i386/i386.c:4514:32: error: ‘mask’ may be used
> uninitialized in this function [-Werror=maybe-uninitialized]
> 4514 | opts->x_recip_mask_explicit |= mask;
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
> cc1plus: all warnings being treated as errors
> ...
>
> > make clean
"make clean" is known to not do a very good job of cleaning up. Just
delete the entire ~/repos/build/gcc directory and start again from the
configure command.
> > ../../gcc/configure --prefix=$HOME/repos/build/install
The installation docs say "building where objdir is a subdirectory of
srcdir is unsupported."
It can work, but I avoid it. Build in a directory outside the source dir.
> --enable-languages=c,c++ --disable-multilib -disable-werror
> > make
>
> ...
> Comparing stages 2 and 3
> Bootstrap comparison failure!
> gcc/gcc.o differs
> gcc/plugin.o differs
> ...
I don't know why you'd get a comparison failure. If it still happens
after starting again in an empty directory try it without the
BOOT_CFLAGS=-O