Two problems - the second one is months old and affects 4.2.0 4.2.1 4.3.0
1) Make breaks due to "configure: error: `CXXFLAGS' has changed since the previous run:" This did not happen yesterday, or the day before, ... 2) When make breaks (for _any_ reason, including the prior one) while building libjava any attempt to simply re-run make will fail since the Makefile does not fix the absence of the "libltdl" directory. It simply trys to change to "libltdl" without testing for it's existance and the dies. # make 2>&1 | tee make_6b_log.txt 3 hours later # grep -n Checking\ multilib\ configuration\ for\ libjava make_6a_log.txt 16963:Checking multilib configuration for libjava... Screen output: Checking multilib configuration for libjava... mkdir -p -- i686-pc-linux-gnu/libjava Configuring in i686-pc-linux-gnu/libjava configure: creating cache ./config.cache checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu ...(Quite a few lines) configure: configuring in classpath configure: running /bin/sh '/root/downloads/gcc-4_3-trunk/libjava/classpath/configure' --prefix=/usr '--cache-file=./config.cache' '--verbose' '--with-tune=athlon-xp' '--prefix=/usr' '--enable-objc-gc' '--enable-concept-checks' '--disable-multilib' '--with-gxx-include-dir=/usr/include/c++/4.3' '--enable-libstdcxx-debug' '--enable-static' '--enable-shared' '--enable-initfini-array' '--enable-__cxa_atexit' '--enable-threads=posix' '--enable-version-specific-runtime-libs' '--enable-libssp' '--enable-libmudflap' '--enable-libgomp' '--disable-werror' '--enable-nls' '--with-included-gettext' '--enable-decimal-float' '--with-long-double-128' '--enable-debug' '--enable-java-gc=boehm' '--with-x' '--x-includes=/usr/X11R6/include' '--x-libraries=/usr/X11R6/lib' '--enable-java-awt=gtk,xlib' '--enable-gtk-cairo' '--enable-qt-peer' '--enable-xmlj' '--enable-gconf-peer' '--enable-tool-wrappers' '--with-gjdoc' '--enable-portable-native-sync' '--enable-libgcj-multifile' '--with-stabs' '--enable-hash-synchronization' '--enable-gc-debug' '--enable-interpreter' '--with-system-zlib' '--enable-libada' '--with-tls' '--with-cpu=athlon-xp' '--with-arch=athlon-xp' '--enable-stage1-checking=assert,gc,misc,rtl,rtlflag,runtime' '--enable-languages=c,ada,c++,fortran,java,objc,obj-c++' '--program-transform-name=s,y,y,' '--with-target-subdir=i686-pc-linux-gnu' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--target=i686-pc-linux-gnu' '--srcdir=/root/downloads/gcc-4_3-trunk/libjava' 'CPPFLAGS=' 'CXXFLAGS=-g -O2 -D_GNU_SOURCE' 'CXX= /opt/gcc-4_3-build/./gcc/xgcc -shared-libgcc -B/opt/gcc-4_3-build/./gcc -nostdinc++ -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include' 'LDFLAGS=' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'target_alias=i686-pc-linux-gnu' --with-fastjar=jar --disable-tool-wrappers --disable-load-library --disable-debug --enable-default-toolkit=gnu.java.awt.peer.gtk.GtkToolkit --with-vm-classes=/root/downloads/gcc-4_3-trunk/libjava:/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava --disable-core-jni --disable-examples --with-glibj=build --disable-plugin --disable-qt-peer --without-escher --disable-Werror --enable-ltdl-convenience --with-auxdir=/root/downloads/gcc-4_3-trunk --cache-file=.././config.cache --srcdir=/root/downloads/gcc-4_3-trunk/libjava/classpath configure: loading cache .././config.cache configure: error: `CXXFLAGS' has changed since the previous run: configure: former value: -g -O2 -D_GNU_SOURCE configure: current value: -g -O2 -D_GNU_SOURCE configure: error: changes in the environment can compromise the build configure: error: run `make distclean' and/or `rm .././config.cache' and start over configure: error: /bin/sh '/root/downloads/gcc-4_3-trunk/libjava/classpath/configure' failed for classpath make[1]: *** [configure-target-libjava] Error 1 make[1]: Leaving directory `/opt/gcc-4_3-build' make: *** [all] Error 2 # # grep -n CXXFLAGS make_6_log.txt 1468:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-g -fkeep-inline-functions" "CXXFLAGS=-g -O2" "CFLAGS_FOR_$ 4703:true "AR_FLAGS=rc" "CC_FOR_BUILD=/opt/gcc-4_3-build/./prev-gcc/xgcc -B/opt/gcc-4_3-build/./prev-gcc/ -B/$ 7969:true "AR_FLAGS=rc" "CC_FOR_BUILD=/opt/gcc-4_3-build/./prev-gcc/xgcc -B/opt/gcc-4_3-build/./prev-gcc/ -B/$ 10278:make "DESTDIR=" "RPATH_ENVVAR=LD_LIBRARY_PATH" "TARGET_SUBDIR=i686-pc-linux-gnu" "bindir=/usr/bin" "dat$ 12901:make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=/opt/gcc-4_3-build/./gcc/xgcc -B/opt/gcc-4_3-build$ 13229:(cd debug && make CXXFLAGS='-g3 -O0' all) 13431:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CC_FOR_TARGET=/opt/gcc-4_3-build/./gcc/xgcc -B/opt/gcc-4_3-build$ 13634:make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 13688:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 13796:make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 13875:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 16510:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 16814:make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 16816:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 16877:true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR$ 17284:configure: running /bin/sh '/root/downloads/gcc-4_3-trunk/libjava/classpath/configure' --prefix=/usr '$ 17286:configure: error: `CXXFLAGS' has changed since the previous run: Lets see if we simply need to re-try "make" (no). # make 2>&1 | tee make_6b_log.txt make[2]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/zlib' make[2]: Entering directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava' : make ; exec true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CPPFLAGS=" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -O2 " "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "GCJFLAGS=-g -O2" "LDFLAGS=" "LIBCFLAGS=-O2 -g -O2 " "LIBCFLAGS_FOR_TARGET=-O2 -g -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS=" "exec_prefix=/usr" "infodir=/usr/info" "libdir=/usr/lib" "mandir=/usr/man" "prefix=/usr" "gxx_include_dir=/usr/include/c++/4.3" "AR=ar" "AS=/opt/gcc-4_3-build/./gcc/as" "LD=/opt/gcc-4_3-build/./gcc/collect-ld" "LIBCFLAGS=-O2 -g -O2 " "NM=/opt/gcc-4_3-build/./gcc/nm" "PICFLAG=" "RANLIB=ranlib" "DESTDIR=" "JAR=jar" DO=all multi-do Making all in libltdl /bin/sh: line 17: cd: libltdl: No such file or directory make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/opt/gcc-4_3-build' make: *** [all] Error 2 # Here is where line 16877 ( true "AR_FLAGS=rc" "CC_FOR_BU... ) is: libtool: link: creating libffi.la libtool: link: ( cd ".libs" && rm -f "libffi.la" && ln -s "../libffi.la" "libffi.la" ) true "AR_FLAGS=rc" "CC_FOR_BUILD=gcc" "CFLAGS=-O2 -g -O2 " "CXXFLAGS=-g -O2 -D_GNU_SOURCE" "CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-O2 -g -O2 " "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=-O2 -g -O2 " "LIBCFLAGS_FOR_TARGET=-O2 -g -O2 " "MAKE=make" "MAKEINFO=makeinfo --split-size=5000000 --split-size=5000000 " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/sh" "exec_prefix=/usr" "infodir=/usr/info" "libdir=/usr/lib" "prefix=/usr" "AR=ar" "AS=/opt/gcc-4_3-build/./gcc/as" "CC=/opt/gcc-4_3-build/./gcc/xgcc -B/opt/gcc-4_3-build/./gcc/ -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include" "CXX=/opt/gcc-4_3-build/./gcc/g++ -B/opt/gcc-4_3-build/./gcc/ -nostdinc++ -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem /usr/i686-pc-linux-gnu/include -isystem /usr/i686-pc-linux-gnu/sys-include" "LD=/opt/gcc-4_3-build/./gcc/collect-ld" "NM=/opt/gcc-4_3-build/./gcc/nm" "RANLIB=ranlib" "DESTDIR=" DO=all multi-do # make make[4]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libffi' make[3]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libffi' make[2]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libffi' Checking multilib configuration for zlib... mkdir -p -- i686-pc-linux-gnu/zlib Configuring in i686-pc-linux-gnu/zlib # ls i686-pc-linux-gnu/libjava/libltdl ls: i686-pc-linux-gnu/libjava/libltdl: No such file or directory # cd i686-pc-linux-gnu/libjava/ # ./config.status --recheck # cd ../.. # make Still get the "libltdl: No such file or directory" error occur. Attempting various heroic efforts like "make libltdl" or "make configure-libltdl" all end in failure. A _trick_ (not a fix) that will get you past this is: # cd i686-pc-linux-gnu/libjava/ # mkdir libltdl # cd libltdl Now use the _exact_ same command that you used with "configure" to create the "Makefile" but put "libjava/libltdl" before the word "configure". This uses a different "configure" than the one you used origonally, in an equally different directory than the one you used origonally. Example: If you origonally typed: /root/downloads/gcc-4_3-trunk/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ ... Type this instead (in the "i686-pc-linux-gnu/libjava/libltdl" directory): /root/downloads/gcc-4_3-trunk/libjava/libltdl/configure --enable-languages=c,ada,c++,fortran,java,objc,obj-c++ ... Yes, in that _particular_ example you might have gotten away with leaving out the "--enable-languages=" stuff and just typed configure. _IF_ you use _many_ configure options then do NOT leave them out. Use them all to avoid strange errors. Now change back to the build directory and continue without error. # cd ../../.. # make Usually that would work, but not _this_ week. Depends of state of SVN, and might of been a result of attempting to try ./config.status --recheck . Now getting this error: make[3]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/gcj' Making all in include make[3]: Entering directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/include' make all-am make[4]: Entering directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/include' make[4]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/include' make[3]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/include' Making all in classpath make[3]: Entering directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/classpath' make[3]: *** No rule to make target `all'. Stop. make[3]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava/classpath' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/gcc-4_3-build/i686-pc-linux-gnu/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/opt/gcc-4_3-build' make: *** [all] Error 2 # cd /opt/gcc-4_3-build/i686-pc-linux-gnu/libjava Perform the same ".../configure" trick as you did for libltdl. # cd ../.. # make The make continues normally. The first error _might_ be fixed before many people read this, the second error is months old. It is annoying that "make" is not restartable in the libjava directory. -- Summary: Make FAILURE in 4.3.0 - `CXXFLAGS' has changed error causes "libltdl: No such file or directory" Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32078