On Tue, 13 Mar 2007, Mark Mitchell wrote:

> The GCC 4.2.0 RC1 build has failed (on x86_64-unknown-linux-gnu) with:
> 
> Comparing stages 2 and 3
> Bootstrap comparison failure!
> ./java/parse.o differs
> ./java/parse-scan.o differs

This is caused by --enable-generated-files-in-srcdir, as used by the 
release script, hence not being seen by people configuring normally 
without that option.  The first time Java is built (stage 2), the file 
java/parse.c is generated in the build directory and compiled from the 
build directory; only some time after parse.o is built does parse.c get 
copied to the source directory.  The second time (stage 3) it's built from 
the source directory because of the VPATH setting.  Building from 
different paths means different debug info.

This didn't apply with 4.1 because then, without toplevel bootstrap, all 
files to be copied to the source directory were generated and copied in 
stage 1, so stage 2 and stage 3 both built them from the source directory.  
Now, stage 1 is not only built as C only but the whole stage 1 build 
directory is configured as C only, and so Java generated files don't get 
copied until stage 2.

I have no suggested solution, other than ceasing to include files 
generated with bison, flex and makeinfo in releases for 4.2 and later.  
(The GNU Coding Standards describe such generated files with "We commonly 
include" rather than with a requirement to include them.)

I've found another issue that can cause comparison failures in some 
circumstances; I'll file a PR for that.

-- 
Joseph S. Myers
[EMAIL PROTECTED]

Reply via email to