-
Bug
-
Resolution: Fixed
-
P3
-
13
-
b12
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8220739 | 12.0.2 | Zhengyu Gu | P3 | Resolved | Fixed | b01 |
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.
---
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.
---
- backported by
-
JDK-8220739 Build failures when using --with-jvm-features=-g1gc,-jfr
-
- Resolved
-