About compiling on macOS
Galder Zamarreno
galder at redhat.com
Mon Apr 28 16:24:27 UTC 2025
XCode 16.2 worked fine for me. I also see the same warnings with XCode 16.3.
You can manually download XCode via
http://developer.apple.com/download/all/?q=Xcode. XCode 16.2 is still there
right now. Downloading it, unzipping it and putting elsewhere other than
/Applications might work if used alongside the `--with-xcode-path` flag
Jaikiran mentioned.
I've kept it simple and went with `--disable-warnings-as-errors`,
although I can easily swap my nix-shell to using the XCode 16.2 I still
have lying around in the Nix store.
Thanks
Galder
On Sun, Apr 27, 2025 at 9:35 AM Jaikiran Pai <jai.forums2013 at gmail.com>
wrote:
> 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/20250428/e4fb32c7/attachment-0001.htm>
More information about the build-dev
mailing list