system: linux rh7.3 - 2.4.18-18.7.x.cernsmp #1 SMP Mon Nov 18 15:44:49 CET 2002 i686 unknown GNU C Library stable release version 2.2.5, by Roland McGrath et al. Compiled by GNU CC version 2.96 20000731 (Red Hat Linux 7.3 2.96-112). Compiled on a Linux 2.4.9-9 system on 2002-10-10. Available extensions: GNU libio by Per Bothner crypt add-on version 2.1 by Michael Glad and others The C stubs add-on version 2.1.2. linuxthreads-0.9 by Xavier Leroy BIND-8.2.3-T5B NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk Glibc-2.0 compatibility add-on by Cristian Gafton libthread_db work sponsored by Alpha Processor Inc compiler (default): Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113) I tried to build both gcc 3.1 and 3.2 following standard procedure. Configured with: ../gcc-3.x/configure --prefix/usr/local2 I obtain the same comparison failure in both cases, here I attach a log of the messages after a second "make bootstrap" (the last messages are the same) make[1]: Entering directory `/alisoft/othersoft/obj-gcc-3.1/libiberty' make[2]: Entering directory `/alisoft/othersoft/obj-gcc-3.1/libiberty/testsuite' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/alisoft/othersoft/obj-gcc-3.1/libiberty/testsuite' make[1]: Leaving directory `/alisoft/othersoft/obj-gcc-3.1/libiberty' make[1]: Entering directory `/alisoft/othersoft/obj-gcc-3.1/zlib' true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=-g -O2" "INSTALL=/bin/sh /alisoft/othersoft/gcc-3.1/install-sh -c" "INSTALL_DATA=/bin/sh /alisoft/othersoft/gcc-3.1/install-sh -c -m 644" "INSTALL_PROGRAM=/bin/sh /alisoft/othersoft/gcc-3.1/install-sh -c " "INSTALL_SCRIPT=/bin/sh /alisoft/othersoft/gcc-3.1/install-sh -c" "LDFLAGS=" "LIBCFLAGS=-g -O2" "LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "EXPECT=expect" "RUNTEST=runtest" "RUNTESTFLAGS=" "exec_prefix=--enable-shared" "infodir=--enable-shared/info" "libdir=--enable-shared/lib" "prefix=--enable-shared" "tooldir=--enable-shared/i686-pc-linux-gnu" "AR=ar" "AS=as" "CC=gcc" "CXX=c++" "LD=ld" "LIBCFLAGS=-g -O2" "NM=nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do make[1]: Leaving directory `/alisoft/othersoft/obj-gcc-3.1/zlib' Bootstrapping the compiler make[1]: Entering directory `/alisoft/othersoft/obj-gcc-3.1/gcc' Bootstrap complete - make "quickstrap" to redo last build, "restage1" through "restage3" to rebuild specific stages, or "cleanstrap" to redo the bootstrap from scratch. make[1]: Leaving directory `/alisoft/othersoft/obj-gcc-3.1/gcc' Comparing stage2 and stage3 of the compiler make[1]: Entering directory `/alisoft/othersoft/obj-gcc-3.1/gcc' rm -f .bad_compare case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \ for file in *.o; do \ tail +16c ./$file > tmp-foo1; \ tail +16c stage$stage/$file > tmp-foo2 \ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $file differs >> .bad_compare) || true; \ done case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \ for dir in tmp-foo intl cp f java objc; do \ if [ "`echo $dir/*.o`" != "$dir/*.o" ] ; then \ for file in $dir/*.o; do \ tail +16c ./$file > tmp-foo1; \ tail +16c stage$stage/$file > tmp-foo2 \ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $file differs >> .bad_compare) || true; \ done; \ else true; fi; \ done rm -f tmp-foo* 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! crtbeginS.o differs crtend.o differs g77version.o differs mbchar.o differs sdbout.o differs underscore.o differs version.o differs vmsdbgout.o differs f/version.o differs make[1]: Leaving directory `/alisoft/othersoft/obj-gcc-3.1/gcc' make[1]: *** [compare] Error 1 make: *** [bootstrap] Error 2
Most likely bad memory as people bootstrap all the time on i386-pc-linux-gnu. Also note 3.1 is an old release.
I found that I was working on an NFS-mounted directory. So I tried the same compilations on the local disk and it succeded. Sorry if it a well-known "feature" but I did not find any note on this.