Build breakage
Andrew Hughes
ahughes at redhat.com
Mon May 28 06:34:47 PDT 2012
----- Original Message -----
> Hi Andrew,
>
> On 2012-05-28 14:57, Andrew Hughes wrote:
> > I'm trying to build a patch against the build forest
> > (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build
> > is broken in the current checkout:
> >
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'TreeList<Chunk>*
> > TreeList<Chunk>::remove_chunk_replace_if_needed(TreeChunk<Chunk>*)
> > [with Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7:
> > error: 'link_tail' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7:
> > note: declarations in dependent base 'FreeList<FreeChunk>' are not
> > found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7:
> > note: use 'this->link_tail' instead
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'void
> > TreeList<Chunk>::return_chunk_at_head(TreeChunk<Chunk>*) [with
> > Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5:
> > error: 'link_tail' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5:
> > note: declarations in dependent base 'FreeList<FreeChunk>' are not
> > found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:257:5:
> > note: use 'this->link_tail' instead
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'void
> > TreeList<Chunk>::return_chunk_at_tail(TreeChunk<Chunk>*) [with
> > Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3:
> > error: 'link_tail' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3:
> > note: declarations in dependent base 'FreeList<FreeChunk>' are not
> > found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:230:3:
> > note: use 'this->link_tail' instead
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'bool
> > DescendTreeSearchClosure<Chunk>::do_tree(TreeList<Chunk>*) [with
> > Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1027:42:
> > required from 'Chunk*
> > BinaryTreeDictionary<Chunk>::find_chunk_ends_at(HeapWord*) const
> > [with Chunk = FreeChunk]'
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7:
> > error: 'do_list' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7:
> > note: declarations in dependent base
> > 'TreeSearchClosure<FreeChunk>' are not found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:994:7:
> > note: use 'this->do_list' instead
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'void
> > AscendTreeCensusClosure<Chunk>::do_tree(TreeList<Chunk>*) [with
> > Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1039:3:
> > required from 'void
> > BinaryTreeDictionary<Chunk>::begin_sweep_dict_census(double,
> > float, float, float) [with Chunk = FreeChunk]'
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7:
> > error: 'do_list' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7:
> > note: declarations in dependent base
> > 'TreeCensusClosure<FreeChunk>' are not found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:916:7:
> > note: use 'this->do_list' instead
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> > In instantiation of 'void
> > DescendTreeCensusClosure<Chunk>::do_tree(TreeList<Chunk>*) [with
> > Chunk = FreeChunk]':
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1135:3:
> > required from 'void
> > BinaryTreeDictionary<Chunk>::set_tree_hints() [with Chunk =
> > FreeChunk]'
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1340:16:
> > required from here
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
> > error: 'do_list' was not declared in this scope, and no
> > declarations were found by argument-dependent lookup at the point
> > of instantiation [-fpermissive]
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
> > note: declarations in dependent base
> > 'TreeCensusClosure<FreeChunk>' are not found by unqualified lookup
> > /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
> > note: use 'this->do_list' instead
> >
> > This is with GCC 4.7, exact same build as I do for 7u which works
> > fine.
> >
> > ALT_BOOTDIR points to:
> >
> > java version "1.7.0_03-icedtea"
> > OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build
> > 1.7.0_03-icedtea-b147)
> > OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
> >
> > Settings:
> >
> > ANT_RESPECT_JAVA_HOME=true LANG=C make
> > ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \
> > ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \
> > ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \
> > ALT_DROPS_DIR=${DROPS_DIR} \
> > HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \
> > ANT=/usr/bin/ant \
> > QUIETLY="" \
> > DEBUG_BINARIES="true" \
> > DEBUG_CLASSFILES="true" \
> > NO_DOCS="true" \
> > OTHER_JAVACFLAGS="-Xmaxwarns 10000" \
> > ${WARNINGS} STATIC_CXX=false \
> > STRIP_POLICY=no_strip
> >
> > I think this may be related to:
> >
> > $ hg log -R hotspot -k 7164144
> > changeset: 3297:f69a5d43dc19
> > parent: 3295:9f059abe8cf2
> > user: jmasa
> > date: Wed Apr 25 09:55:55 2012 -0700
> > summary: 7164144: Fix variable naming style in
> > freeBlockDictionary.* and binaryTreeDictionary*
> >
> > which is in hotspot-comp, hotspot-rt& build, but not 7u.
> >
> > Any ideas?
>
> I've seen this when I tried building with GCC 4.7 as well.
> This problem comes from 9f059abe8cf2, "Generalize the CMS free list
> code" which introduced some templates.
> It appears that GCC 4.7 is more strict when doing argument dependent
> lookup than 4.6.
> The fix is to do just what gcc suggests and use this->* or use the
> qualified name of the function, for example
> TreeList<Chunk>::link_tail
> in the first failure. As you can see there are already some places in
> that code which use the fully qualified name.
>
> I just discovered that I had a patch that fixes most of these issues
> in
> binaryTreeDictionary so I'll go ahead and file a CR for this.
>
> Regards
> /mg
>
Thanks Mikael. If you could post the patch, it would be much appreciated.
I can't build OpenJDK8 at present.
> --
> Mikael Gerdin
> Java SE VM SQE Stockholm
>
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
More information about the hotspot-dev
mailing list