macOS Big Sur编译OpenJDK12问题记录
错误一:
1 /test/hotspot/gtest/classfile/test_symbolTable.cpp:62:6: error: explicitly assigning value of variable of type 'TempNewSymbol' to itself [-Werror,-Wself-assign-overloaded] 2 s1 = s1; // self assignment 3 ~~ ^ ~~ 4 Compiling 224 properties into resource bundles for jdk.localedata 5 1 error generated.
解决方案:
注释掉这行问题代码。
错误二:
1 /src/hotspot/share/runtime/arguments.cpp:1452:35: error: result of comparison against a string literal is unspecified (use an explicit string comparison function instead) [-Werror,-Wstring-compare] 2 if (old_java_vendor_url_bug != DEFAULT_VENDOR_URL_BUG) { 3 ^ ~~~~~~~~~~~~~~~~~~~~~~ 4 1 error generated.
解决方案:
字符串比较用一下代码替换
1 strcmp(old_java_vendor_url_bug, DEFAULT_VENDOR_URL_BUG) != 0
错误三:
1 /src/java.desktop/macosx/native/libawt_lwawt/awt/CSystemColors.m:134:9: error: converting the result of '?:' with integer constants to a boolean always evaluates to 'true' [-Werror,-Wtautological-constant-compare] 2 if (colorIndex < (useAppleColor) ? sun_lwawt_macosx_LWCToolkit_NUM_APPLE_COLORS : java_awt_SystemColor_NUM_COLORS) { 3 ^ 4 1 error generated.
解决方案:
已修复的bug,参考https://github.com/openjdk/jdk/commit/4622a18a修改,如下图。


浙公网安备 33010602011771号