This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: [head] Java bootstrap failure: natClip.cc:26: syntax error before`;'
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.
--
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