[head] Java bootstrap failure: natClip.cc:26: syntax error before`;'

Manfred Hollstein manfredh@redhat.com
Thu Mar 1 02:35:00 GMT 2001


On , 28 February 2001, 19:29:20 -0300, aoliva@redhat.com wrote:

> On Feb 24, 2001, "Zack Weinberg" <zackw@Stanford.EDU> wrote:
> 
> > On Sat, Feb 24, 2001 at 02:38:40AM -0300, Alexandre Oliva wrote:
> >> On Feb 24, 2001, "Zack Weinberg" <zackw@Stanford.EDU> wrote:
> >> 
> >> > On Sat, Feb 24, 2001 at 02:10:05AM -0300, Alexandre Oliva wrote:
> >> >> On Feb 17, 2001, "Zack Weinberg" <zackw@stanford.edu> wrote:
> >> >> 
> >> >> > I stuck debugging echos all over that thing and it appears that
> >> >> > neither branch of the case gets executed.  I don't know how that
> >> >> > could happen, but it is.
> >> >> 
> >> >> The only substantial difference I can find between
> >> >> CONFIGURE_TARGET_MODULES, that works, and ALL_TARGET_MODULES, that
> >> >> doesn't, is that CXX is evaluated in a shell assignment and exported
> >> >> in `configure', but used only as an argument to make in `all'.
> >> 
> >> > Um, for me, CONFIGURE_TARGET_MODULES *doesn't* work.
> >> 
> >> Ugh!
> 
> What exactly does it mean that it doesn't work?
> 
> I've just been able to reproduce a failure scenario on Red Hat Linux
> 7/x86.  boehm-gc would configure before libstdc++-v3 was built, even
> though configure-target-boehm-gc depended on $(ALL_GCC_CXX) that
> depended on all-target-libstdc++-v3.  Nevertheless, I'd remove
> i686-pc-linux-gnu/{config.cache,libstdc++-v3} and `make
> configure-target-boehm-gc' wouldn't proceed to configuring and
> building libstdc++-v3 first.  The result was that boehm-gc would get a
> definition of CXX without the flags in libstdc++.INC, because this
> file hadn't been built yet.  From then on, configure of all target
> directories would pick the wrong CXX from the cache.
> 
> Looks like a bug in GNU make to me.  I'll try to find a short
> testcase.  Fortunately, I have found an easy work-around: moving the
> definitions of ALL_GCC, ALL_GCC_C and ALL_GCC_CXX before all the
> configure-target-* all-target-* custom rules.
> 
> Manfred, Zack, will you please let me know whether making this
> Makefile change fixes this problem?  You'll have to remove
> target/config.cache and any affected target sub-directories before the
> change can take any effect.

I just tried a snapshot from the branch, but unfortunately the problem
is still not fixed. I applied the patch below to the toplevel Makefile.in.
Although it is failing in the same way as before, this time libstdc++-v3
had been configured before all other libraries (even before libiberty);
and the build also ran before libjava's configure... so, libstdc++.INC
was there...

--- gcc-3.0.orig/Makefile.in	Thu Feb 22 17:30:26 2001
+++ gcc-3.0/Makefile.in	Thu Mar  1 10:25:21 2001
@@ -1034,6 +1034,10 @@ maintainer-clean: local-maintainer-clean
 maintainer-clean: local-distclean
 realclean: maintainer-clean
 
+ALL_GCC = all-gcc
+ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss
+ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++-v3
+
 # This rule is used to clean specific modules.
 .PHONY: $(CLEAN_MODULES) $(CLEAN_X11_MODULES) clean-gcc
 $(CLEAN_MODULES) $(CLEAN_X11_MODULES) clean-gcc:
@@ -1572,9 +1576,6 @@ all-flex: all-libiberty all-bison all-by
 all-gas: all-libiberty all-opcodes all-bfd all-intl
 all-gash: all-tcl
 all-gawk:
-ALL_GCC = all-gcc
-ALL_GCC_C = $(ALL_GCC) all-target-newlib all-target-libgloss
-ALL_GCC_CXX = $(ALL_GCC_C) all-target-libstdc++-v3
 all-gcc: all-bison all-byacc all-binutils all-gas all-ld all-zlib
 all-bootstrap: all-libiberty all-texinfo all-bison all-byacc all-binutils all-gas all-ld all-zlib
 GDB_TK = all-tk all-tcl all-itcl all-tix all-libgui

> 
> -- 
> Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
> Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
> CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
> Free Software Evangelist    *Please* write to mailing lists, not to me

Cheers.

l8er
manfred



More information about the Gcc-bugs mailing list