macro expansion producing 'defined' has undefined behavior

David Holmes david.holmes at oracle.com
Fri Feb 18 02:58:37 UTC 2022


Hi Simmias,

On 14/02/2022 1:24 pm, 殷玉婷 wrote:
> Hi,
> 
> When I ran
> make images in my local computer to compile the openjdk9u by guideline <<Understanding the JVM >>, I encountered the following problems:

9u is not expected to be built by recent Xcode, it was a much older 
release (not sure if anyone is actually updating it at all):

https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms

You either need to downgrade your build tools, or else upgrade the 
OpenJDK version you want to build.

Cheers,
David

> Compiling 61 files for BUILD_INTERIM_jdk.jdeps
> Compiling 457 files for BUILD_INTERIM_jdk.javadoc
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/test/native/gc/g1/test_freeRegionList.cpp:25:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.inline.hpp:28:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp:33:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.hpp:31:
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/heapRegionSet.hpp:126:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
> #if HEAP_REGION_SET_FORCE_VERIFY
>      ^
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/heapRegionSet.hpp:53:38: note: expanded from macro 'HEAP_REGION_SET_FORCE_VERIFY'
> #define HEAP_REGION_SET_FORCE_VERIFY defined(ASSERT)
>                                       ^
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/test/native/gc/g1/test_freeRegionList.cpp:25:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.inline.hpp:28:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp:37:
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1HeapVerifier.hpp:67:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
> #if HEAP_REGION_SET_FORCE_VERIFY
>      ^
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/heapRegionSet.hpp:53:38: note: expanded from macro 'HEAP_REGION_SET_FORCE_VERIFY'
> #define HEAP_REGION_SET_FORCE_VERIFY defined(ASSERT)
>                                       ^
> 2 errors generated.
> make[3]: *** [/Users/simmias/java/github/openjdk/jdk9u-master/build/macosx-x86_64-normal-server-release/hotspot/variant-server/libjvm/gtest/objs/test_freeRegionList.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [hotspot-server-libs] Error 2
> make[2]: *** Waiting for unfinished jobs....
> ?: ???????????????? API?
> ?: ??????, ??? -Xlint:deprecation ?????
> 
> ERROR: Build failed for target 'images' in configuration 'macosx-x86_64-normal-server-release' (exit code 2)
> 
> === Output from failing command(s) repeated here ===
> * For target hotspot_variant-server_libjvm_gtest_objs_test_freeRegionList.o:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/test/native/gc/g1/test_freeRegionList.cpp:25:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.inline.hpp:28:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp:33:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.hpp:31:
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/heapRegionSet.hpp:126:5: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined]
> #if HEAP_REGION_SET_FORCE_VERIFY
>      ^
> /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/heapRegionSet.hpp:53:38: note: expanded from macro 'HEAP_REGION_SET_FORCE_VERIFY'
> #define HEAP_REGION_SET_FORCE_VERIFY defined(ASSERT)
>                                       ^
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/test/native/gc/g1/test_freeRegionList.cpp:25:
> In file included from /Users/simmias/java/github/openjdk/jdk9u-master/hotspot/src/share/vm/gc/g1/g1CollectedHeap.inline.hpp:28:
>     ... (rest of output omitted)
> 
> * All command lines available in /Users/simmias/java/github/openjdk/jdk9u-master/build/macosx-x86_64-normal-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 common/doc/building.html#troubleshooting for assistance.
> 
> make[1]: *** [main] Error 2
> make: *** [images] Error 2
> 
> I tried the ways on the internet which added the env(CGO_CPPFLAGS), but it did not work.
> I am really looking forward to your reply.
> Thanks
> 
> Local env:
> os: mac 11.5.2
> xcode version: 13.2.1
> xcode-select version:  2384
> planning compile jdk version : openjdk 9u
> bootstrap jdk version: openjdk 8
> 
> Best Regards
> Simmias
> 
> 
> 



More information about the build-dev mailing list