About compiling on macOS
mitani at daisuke2.com
mitani at daisuke2.com
Sun Apr 27 11:02:28 UTC 2025
Hi Jaikiran
> 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.
I was able to successfully compile using this method. Thank you.
> 2025/04/27 16:34、Jaikiran Pai <jai.forums2013 at gmail.com>のメール:
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20250427/c7c14784/attachment-0001.htm>
More information about the build-dev
mailing list