FW: Problem with GCC and Make

Lynn.Black@USPTO.GOV Lynn.Black@USPTO.GOV
Thu Sep 12 09:57:00 GMT 2002


GCC support, I have been having some difficulties installing
GCC on my system.  First I couldn't get MAKE to compile so
Paul Smith showed me where to get a test version of MAKE that
compiled on HPUX 11.11.  Once I got MAKE installed I started
working on GCC.  It seemed to be working for about 2-3 hours
and then I got the following error:

case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo
compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
if [ -f .bad_compare ]; then \
  echo "Bootstrap comparison failure!"; \
  cat .bad_compare; \
  exit 1; \
else \
  case "compare" in \
    *-lean ) rm -rf stage$stage ;; \
    *) ;; \
  esac; true; \
fi
Bootstrap comparison failure!
alias.o differs
attribs.o differs
bb-reorder.o differs
bitmap.o differs
builtins.o differs
c-aux-info.o differs
c-common.o differs
c-convert.o differs
c-decl.o differs
c-errors.o differs
c-format.o differs
c-lang.o differs
c-lex.o differs
c-objc-common.o differs
c-parse.o differs
c-pragma.o differs
c-semantics.o differs
c-typeck.o differs
caller-save.o differs
calls.o differs
cfg.o differs
cfganal.o differs
cfgbuild.o differs
cfgcleanup.o differs
cfglayout.o differs
cfgloop.o differs
cfgrtl.o differs
collect2.o differs
combine.o differs
conflict.o differs
convert.o differs
cppdefault.o differs
cpperror.o differs
cppexp.o differs
cppfiles.o differs
cpphash.o differs
cppinit.o differs
cpplex.o differs
cpplib.o differs
cppmacro.o differs
cppmain.o differs
cppspec.o differs
cse.o differs
cselib.o differs
cxxmain.o differs
dbxout.o differs
debug.o differs
dependence.o differs
df.o differs
diagnostic.o differs
doloop.o differs
dominance.o differs
dwarf2asm.o differs
dwarf2out.o differs
dwarfout.o differs
emit-rtl.o differs
errors.o differs
except.o differs
explow.o differs
expmed.o differs
expr.o differs
final.o differs
fix-header.o differs
flow.o differs
fold-const.o differs
function.o differs
g++spec.o differs
g77spec.o differs
g77version.o differs
gcc.o differs
gccspec.o differs
gcov.o differs
gcse.o differs
gen-protos.o differs
genattr.o differs
genattrtab.o differs
gencheck.o differs
gencodes.o differs
genconfig.o differs
genconstants.o differs
genemit.o differs
genextract.o differs
genflags.o differs
gengenrtl.o differs
genopinit.o differs
genoutput.o differs
genpeep.o differs
genpreds.o differs
genrecog.o differs
genrtl.o differs
gensupport.o differs
ggc-common.o differs
ggc-none.o differs
ggc-page.o differs
global.o differs
graph.o differs
haifa-sched.o differs
hash.o differs
hashtable.o differs
hooks.o differs
ifcvt.o differs
{pages and pages of differs statements...}
java/mangle.o differs
java/mangle_name.o differs
java/parse-scan.o differs
java/parse.o differs
java/typeck.o differs
java/verify.o differs
java/xref.o differs
java/zextract.o differs
make[1]: *** [compare] Error 1
make[1]: Leaving directory `/data2/gcc_build/gcc'
make: *** [bootstrap] Error 2
# 

I sent mail to Mr. Smith again and he refered me to you
guys.  The following is the information you have in your
need list:
GCC 3.2
HPUX 11.11 (N4000)
/usr/local/bin/make bootstrap (in the build directory)
won't build- that's the error
see error message above for the error generated while trying to compile
see error message above for the file that triggers the bug

Any help you can provide would be VERY appreciated!
Thanks!
Lynn
-----Original Message-----
From: psmith@gnu.org [mailto:psmith@gnu.org]
Sent: Thursday, September 12, 2002 12:40 PM
To: Lynn.Black@uspto.gov
Subject: RE: Problem with GCC and Make


I can't tell you much; you need to talk to some GCC folks, on the GCC
lists etc.

I can tell you what's going on: compiling a compiler is a tricky
business: very chicken-and-egg.  If you don't have a good compiler how
can you compile a better compiler?

So, GCC actually builds itself at least twice, and maybe three times,
called "passes":

 First, it builds just the C compiler with whatever compiler you have
 lying around.

 Second, it builds all the compilers you asked for (remember that GCC
 stands for "GNU Compiler Collection" and contains compilers for a
 number of different languages: you can choose to not build those you
 don't care about) using the C compiler built in step one.  This allows
 the other compilers in GCC to take advantage of GCC capabilities and
 ANSI C features while still allowing bootstrapping to work: only the C
 compiler implementation needs to be very portable.

 Third, it rebuilds all the same code again, using the C compiler built
 in the second step.

Then finally it compares the .o's generated in the second and third
steps to make sure they're identical: if they're not identical then
there's a chance there's a bug somewhere because the compiler generated
by the first step and the compiler generated by the second step don't
give identical results.

It looks like this last compare is failing for you.

I can't tell you why that might be.  If you tried building with
debugging enabled (-g) you might try it without that, just to see.
Maybe there were other errors or warnings before this one.  Another
thing to do is see if you can find the .o's from the two phases (find
for conflict.o or whatever) and just do an "ls"; is one of them
0-length?  Maybe you ran out of disk space or something.

Otherwise you'll have to ask the GCC folks... sorry I don't have any
better answers.

Good luck!

-- 
----------------------------------------------------------------------------
---
 Paul D. Smith <psmith@gnu.org>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad
Scientist



More information about the Gcc-bugs mailing list