Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8220344

Build failures when using --with-jvm-features=-g1gc,-jfr

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b12

      Backports

        Description

        Build is broken when configure with --with-jvm-features=-g1gc,-jfr. There are two problems:

        1. g1BarrierSet.hpp is included when g1 is disabled.
        2. cardTable.hpp is included in g1CardTable.hpp, and when ifndef INCLUDE_G1GC, cardTable.hpp is missed.

        $ sh configure --with-boot-jdk=/home/aoqi/jdk-11.0.2 --disable-warnings-as-errors -with-jtreg=/home/aoqi/jtreg/ --with-jvm-features=-g1gc,-jfr --with-jvm-variants=server --with-debug-level=release
        ...

        $ make images CONF=linux-x86_64-server-release

        Output 1:
        ---
        Building target 'images' in configuration 'linux-x86_64-server-release'
        Updating support/modules_libs/java.base/server/libjvm.so due to 2 file(s)
        Updating hotspot/variant-server/libjvm/gtest/libjvm.so due to makefile changes
        Updating hotspot/variant-server/libjvm/gtest/gtestLauncher due to makefile changes
        In file included from /home/aoqi/jdk/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:25:0:
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:120:41: error: 'G1BarrierSet' is not a member of 'BarrierSet'
           static const BarrierSet::Name value = BarrierSet::G1BarrierSet;
                                                 ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:28: error: 'G1BarrierSet' is not a member of 'BarrierSet'
         struct BarrierSet::GetType<BarrierSet::G1BarrierSet> {
                                    ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:28: error: 'G1BarrierSet' is not a member of 'BarrierSet'
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:52: error: template argument 1 is invalid
         struct BarrierSet::GetType<BarrierSet::G1BarrierSet> {
                                                            ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:54: error: explicit specialization of non-template '<anonymous struct>'
         struct BarrierSet::GetType<BarrierSet::G1BarrierSet> {
                                                              ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:126:1: error: abstract declarator '<anonymous struct>' used as declaration
         };
         ^
        cc1plus: warning: unrecognized command line option "-Wno-misleading-indentation" [enabled by default]
        cc1plus: warning: unrecognized command line option "-Wno-implicit-fallthrough" [enabled by default]
        cc1plus: warning: unrecognized command line option "-Wno-int-in-bool-context" [enabled by default]
        gmake[3]: *** [/home/aoqi/jdk/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/shenandoahBarrierSet.o] Error 1
        gmake[3]: *** Waiting for unfinished jobs....
        gmake[2]: *** [hotspot-server-libs] Error 1

        ERROR: Build failed for target 'images' in configuration 'linux-x86_64-server-release' (exit code 2)

        === Output from failing command(s) repeated here ===
        * For target hotspot_variant-server_libjvm_objs_shenandoahBarrierSet.o:
        In file included from /home/aoqi/jdk/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp:25:0:
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:120:41: error: 'G1BarrierSet' is not a member of 'BarrierSet'
           static const BarrierSet::Name value = BarrierSet::G1BarrierSet;
                                                 ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:28: error: 'G1BarrierSet' is not a member of 'BarrierSet'
         struct BarrierSet::GetType<BarrierSet::G1BarrierSet> {
                                    ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:28: error: 'G1BarrierSet' is not a member of 'BarrierSet'
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:52: error: template argument 1 is invalid
         struct BarrierSet::GetType<BarrierSet::G1BarrierSet> {
                                                            ^
        /home/aoqi/jdk/src/hotspot/share/gc/g1/g1BarrierSet.hpp:124:54: error: explicit specialization of non-template '<anonymous struct>'
           ... (rest of output omitted)

        * All command lines available in /home/aoqi/jdk/build/linux-x86_64-server-release/make-support/failure-logs.
        === End of repeated output ===

        No indication of failed target found.
        Hint: Try searching the build log for '] Error'.
        Hint: See doc/building.html#troubleshooting for assistance.

        make[1]: *** [main] Error 1
        make: *** [images] Error 2
        ---


        Output 2:
        ---
        === Output from failing command(s) repeated here ===
        * For target hotspot_variant-server_libjvm_objs_vmStructs_jvmci.o:
        In file included from /home/aoqi/jdk/src/hotspot/share/jvmci/vmStructs_jvmci.hpp:28:0,
                         from /home/aoqi/jdk/src/hotspot/share/jvmci/vmStructs_jvmci.cpp:35:
        /home/aoqi/jdk/src/hotspot/share/jvmci/vmStructs_jvmci.cpp:439:56: error: 'CardTable' has not been declared
           declare_constant_with_value("CardTable::dirty_card", CardTable::dirty_card_val()) \
                                                                ^
        /home/aoqi/jdk/src/hotspot/share/runtime/vmStructs.hpp:260:22: note: in definition of macro 'GENERATE_VM_INT_CONSTANT_WITH_VALUE_ENTRY'
          { (name), (int32_t)(value) },
                              ^
        /home/aoqi/jdk/src/hotspot/share/jvmci/vmStructs_jvmci.cpp:928:3: note: in expansion of macro 'VM_INT_CONSTANTS'
           VM_INT_CONSTANTS(GENERATE_VM_INT_CONSTANT_ENTRY,
           ^
        cc1plus: warning: unrecognized command line option "-Wno-misleading-indentation" [enabled by default]
           ... (rest of output omitted)

        * All command lines available in /home/aoqi/jdk/build/linux-x86_64-server-release/make-support/failure-logs.
        === End of repeated output ===

        No indication of failed target found.
        Hint: Try searching the build log for '] Error'.
        Hint: See doc/building.html#troubleshooting for assistance.
        ---

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  aoqi Qi Ao
                  Reporter:
                  aoqi Qi Ao
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: