About compiling on macOS

Jaikiran Pai jai.forums2013 at gmail.com
Sun Apr 27 07:34:23 UTC 2025


A previous report too suggests that the JDK build fails (due to compiler 
warnings) when using 16.3 of Xcode on macos. Do you have access to a 
15.4 version of Xcode instead? If so, then you can use 
"--with-xcode-path" during configure to point to that installation of 
Xcode and build the JDK (more details in the documentation here 
https://github.com/openjdk/jdk/blob/master/doc/building.md#apple-xcode). 
I believe that version should be fine.

If you cannot use any other XCode other than 16.3, then you can build 
the JDK by using the "--disable-warnings-as-errors" configure option 
(more details here 
https://github.com/openjdk/jdk/blob/master/doc/building.md#problems-with-the-build-environment). 
Another user has reported previously that this option allowed them to 
successfully build with XCode 16.3.

Long term, the warnings from that part of the code will have to be 
investigated in the JDK.

-Jaikiran

On 27/04/25 11:30 am, mitani at daisuke2.com wrote:
> I have just compiled in the master branch. As a result, I am struggling with the following compilation errors.
>
> Configuration summary:
> * Name:           macosx-aarch64-server-release
> * Debug level:    release
> * HS debug level: product
> * JVM variants:   server
> -n * JVM features:
> -n server: 'cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check jvmci jvmti management parallelgc serialgc services shenandoahgc vm-structs zgc'
>
> * OpenJDK target: OS: macosx, CPU architecture: aarch64, address length: 64
> * Version string: 25-internal-adhoc.mitani.jdk (25-internal)
> * Source date:    1745733212 (2025-04-27T05:53:32Z)
>
> Tools summary:
> * Boot JDK:       openjdk version "24.0.1" 2025-04-15 OpenJDK Runtime Environment Corretto-24.0.1.9.1 (build 24.0.1+9-FR) OpenJDK 64-Bit Server VM Corretto-24.0.1.9.1 (build 24.0.1+9-FR, mixed mode, sharing) (at /Library/Java/JavaVirtualMachines/amazon-corretto-24.jdk/Contents/Home)
> * Toolchain:      clang (clang/LLVM from Xcode 16.3)
> * Sysroot:        /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk
> * C Compiler:     Version 17.0.0 (at /usr/bin/clang)
> * C++ Compiler:   Version 17.0.0 (at /usr/bin/clang++)
>
>
>
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 127 | AudioDeviceID devices[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:126:21: note: declared here
> 126 | int count = size/sizeof(AudioDeviceID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 151 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:150:21: note: declared here
> 150 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 483 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:458:16: note: declared here
> 458 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:527:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 527 | AudioControl* volumeControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:527:34: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:524:9: note: declared here
> 524 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:32: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 529 | AudioControl* muteControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:32: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:524:9: note: declared here
> 524 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:775:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 775 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:775:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:772:18: note: declared here
> 772 | PortControl *control = (PortControl *)controlIDV;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:824:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 824 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:824:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:818:18: note: declared here
> 818 | PortControl *control = (PortControl *)controlIDV;
> | ^
> 7 errors generated.
> make[3]: *** [git/jdk/build/macosx-aarch64-server-release/support/native/java.desktop/libjsound/PLATFORM_API_MacOSX_Ports.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [java.desktop-libs] Error 2
> make[2]: *** Waiting for unfinished jobs....
>
> ERROR: Build failed for target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release' (exit code 2)
> Stopping javac server
>
> === Output from failing command(s) repeated here ===
> * For target support_native_java.desktop_libjsound_PLATFORM_API_MacOSX_Ports.o:
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 127 | AudioDeviceID devices[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:126:21: note: declared here
> 126 | int count = size/sizeof(AudioDeviceID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 151 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:150:21: note: declared here
> 150 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> ... (rest of output omitted)
>
> * All command lines available in git/jdk/build/macosx-aarch64-server-release/make-support/failure-logs.
> === End of repeated output ===
>
> No indication of failed target found.
> HELP: Try searching the build log for '] Error'.
> HELP: Run 'make doctor' to diagnose build problems.
>
> make[1]: *** [main] Error 2
> make: *** [default] Error 2
> make
> Building target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release'
> Creating support/modules_libs/java.desktop/libjsound.dylib from 1 file(s)
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:152:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 152 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:152:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:21: note: declared here
> 151 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:484:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 484 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:484:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:459:16: note: declared here
> 459 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:528:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 528 | AudioControl* volumeControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:528:34: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:525:9: note: declared here
> 525 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:530:32: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 530 | AudioControl* muteControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:530:32: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:525:9: note: declared here
> 525 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:776:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 776 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:776:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:773:18: note: declared here
> 773 | PortControl *control = (PortControl *)controlIDV;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:825:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 825 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:825:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:819:18: note: declared here
> 819 | PortControl *control = (PortControl *)controlIDV;
> | ^
> 6 errors generated.
> make[3]: *** [git/jdk/build/macosx-aarch64-server-release/support/native/java.desktop/libjsound/PLATFORM_API_MacOSX_Ports.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> ld: warning: reducing alignment of section __DATA,__common from 0x8000 to 0x4000 because it exceeds segment maximum alignment
> make[2]: *** [java.desktop-libs] Error 2
>
> ERROR: Build failed for target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release' (exit code 2)
>
> === Output from failing command(s) repeated here ===
> * For target support_native_java.desktop_libjsound_PLATFORM_API_MacOSX_Ports.o:
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:152:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 152 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:152:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:21: note: declared here
> 151 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:484:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 484 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:484:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:459:16: note: declared here
> 459 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:528:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> ... (rest of output omitted)
>
> * All command lines available in git/jdk/build/macosx-aarch64-server-release/make-support/failure-logs.
> === End of repeated output ===
>
> No indication of failed target found.
> HELP: Try searching the build log for '] Error'.
> HELP: Run 'make doctor' to diagnose build problems.
>
> make[1]: *** [main] Error 2
> make: *** [default] Error 2
> make
> Building target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release'
> Creating support/modules_libs/java.desktop/libjsound.dylib from 1 file(s)
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:154:87: error: use of undeclared identifier 'controlIDs'
> 154 | kAudioObjectPropertyOwnedObjects, count * sizeof(AudioObjectID), &controlIDs, 1);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:160:74: error: use of undeclared identifier 'controlIDs'
> 160 | if (ctrl->audioControls[i]->controlID == controlIDs[j]) {
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:485:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 485 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:485:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:460:16: note: declared here
> 460 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 529 | AudioControl* volumeControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:34: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:526:9: note: declared here
> 526 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:531:32: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 531 | AudioControl* muteControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:531:32: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:526:9: note: declared here
> 526 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:777:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 777 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:777:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:774:18: note: declared here
> 774 | PortControl *control = (PortControl *)controlIDV;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:826:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 826 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:826:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:820:18: note: declared here
> 820 | PortControl *control = (PortControl *)controlIDV;
> | ^
> 7 errors generated.
> make[3]: *** [git/jdk/build/macosx-aarch64-server-release/support/native/java.desktop/libjsound/PLATFORM_API_MacOSX_Ports.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [java.desktop-libs] Error 2
>
> ERROR: Build failed for target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release' (exit code 2)
>
> === Output from failing command(s) repeated here ===
> * For target support_native_java.desktop_libjsound_PLATFORM_API_MacOSX_Ports.o:
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:154:87: error: use of undeclared identifier 'controlIDs'
> 154 | kAudioObjectPropertyOwnedObjects, count * sizeof(AudioObjectID), &controlIDs, 1);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:160:74: error: use of undeclared identifier 'controlIDs'
> 160 | if (ctrl->audioControls[i]->controlID == controlIDs[j]) {
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:485:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 485 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:485:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:460:16: note: declared here
> 460 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 529 | AudioControl* volumeControls[totalChannels+1]; // 0 - for master channel
> ... (rest of output omitted)
>
> * All command lines available in git/jdk/build/macosx-aarch64-server-release/make-support/failure-logs.
> === End of repeated output ===
>
> No indication of failed target found.
> HELP: Try searching the build log for '] Error'.
> HELP: Run 'make doctor' to diagnose build problems.
>
> make[1]: *** [main] Error 2
> make: *** [default] Error 2
> git reset --hard
> HEAD is now at 898d4798003 8355077: Compiler error at splashscreen_gif.c due to unterminated string initialization
> make
> Building target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release'
> Creating support/modules_libs/java.desktop/libjsound.dylib from 1 file(s)
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 127 | AudioDeviceID devices[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:126:21: note: declared here
> 126 | int count = size/sizeof(AudioDeviceID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 151 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:150:21: note: declared here
> 150 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 483 | AudioObjectID controlIDs[mixer->deviceControlCount];
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: note: read of non-constexpr variable 'mixer' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:458:16: note: declared here
> 458 | PortMixer *mixer = (PortMixer *)id;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:527:34: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 527 | AudioControl* volumeControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:527:34: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:524:9: note: declared here
> 524 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:32: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 529 | AudioControl* muteControls[totalChannels+1]; // 0 - for master channel
> | ^~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:529:32: note: read of non-const variable 'totalChannels' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:524:9: note: declared here
> 524 | int totalChannels = GetChannelCount(mixer->deviceID, port->scope == kAudioDevicePropertyScopeOutput ? 1 : 0);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:775:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 775 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:775:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:772:18: note: declared here
> 772 | PortControl *control = (PortControl *)controlIDV;
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:824:24: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 824 | Float32 subVolumes[control->controlCount];
> | ^~~~~~~~~~~~~~~~~~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:824:24: note: read of non-constexpr variable 'control' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:818:18: note: declared here
> 818 | PortControl *control = (PortControl *)controlIDV;
> | ^
> 7 errors generated.
> make[3]: *** [git/jdk/build/macosx-aarch64-server-release/support/native/java.desktop/libjsound/PLATFORM_API_MacOSX_Ports.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[2]: *** [java.desktop-libs] Error 2
>
> ERROR: Build failed for target 'default (exploded-image)' in configuration 'macosx-aarch64-server-release' (exit code 2)
>
> === Output from failing command(s) repeated here ===
> * For target support_native_java.desktop_libjsound_PLATFORM_API_MacOSX_Ports.o:
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 127 | AudioDeviceID devices[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:127:39: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:126:21: note: declared here
> 126 | int count = size/sizeof(AudioDeviceID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> 151 | AudioObjectID controlIDs[count];
> | ^~~~~
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:151:42: note: read of non-const variable 'count' is not allowed in a constant expression
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:150:21: note: declared here
> 150 | int count = size / sizeof(AudioObjectID);
> | ^
> git/jdk/src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_Ports.cpp:483:38: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
> ... (rest of output omitted)
>
> * All command lines available in git/jdk/build/macosx-aarch64-server-release/make-support/failure-logs.
> === End of repeated output ===
>
> No indication of failed target found.
> HELP: Try searching the build log for '] Error'.
> HELP: Run 'make doctor' to diagnose build problems.
>
> make[1]: *** [main] Error 2
> make: *** [default] Error 2


More information about the build-dev mailing list