ladybird icon indicating copy to clipboard operation
ladybird copied to clipboard

{macOS} Build fails on macOS 14.7.6

Open asmaloney opened this issue 6 months ago • 0 comments

Summary

Looking at the build docs, it seems like it should build on macOS 14 as it only says that XCode 15+ is required.

I have XCode 16.2 installed.

I get the following build error:

FAILED: UI/AppKit/CMakeFiles/ladybird_impl.dir/Interface/TabController.mm.o 
/Users/foo/dev/bin/ccache /usr/bin/c++  -I/Users/foo/dev/ladybird -I/Users/foo/dev/ladybird/Services -I/Users/foo/dev/ladybird/Libraries -I/Users/foo/dev/ladybird/Build/release/Lagom -I/Users/foo/dev/ladybird/Build/release/Lagom/Services -I/Users/foo/dev/ladybird/Build/release/Lagom/Libraries -I/Users/foo/dev/ladybird/UI/AppKit -I/Users/foo/dev/ladybird/Build/release/UI -isystem /Users/foo/dev/ladybird/Build/release/vcpkg_installed/x64-osx-dynamic/include -O2 -g -DNDEBUG -std=c++2b -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk -fPIC -fcolor-diagnostics -Wall -Wextra -fno-exceptions -ffp-contract=off -Wcast-qual -Wformat=2 -Wimplicit-fallthrough -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wsuggest-override -Wno-invalid-offsetof -Wno-unknown-warning-option -Wno-unused-command-line-argument -Werror -fconstexpr-steps=16777216 -Wmissing-prototypes -Wno-implicit-const-int-float-conversion -Wno-user-defined-literals -Wno-unqualified-std-cast-call -fstack-protector-strong -fstrict-flex-arrays=2 -Wno-maybe-uninitialized -Wno-shorten-64-to-32 -fsigned-char -ggnu-pubnames -O2 -g1 -Wno-expansion-to-defined -fobjc-arc -Wno-deprecated-anon-enum-enum-conversion -MD -MT UI/AppKit/CMakeFiles/ladybird_impl.dir/Interface/TabController.mm.o -MF UI/AppKit/CMakeFiles/ladybird_impl.dir/Interface/TabController.mm.o.d -o UI/AppKit/CMakeFiles/ladybird_impl.dir/Interface/TabController.mm.o -c /Users/foo/dev/ladybird/UI/AppKit/Interface/TabController.mm
/Users/foo/dev/ladybird/UI/AppKit/Interface/TabController.mm:106:23: error: 'setAllowsDisplayModeCustomization:' is only available on macOS 15.0 or newer [-Werror,-Wunguarded-availability-new]
  106 |         [self.toolbar setAllowsDisplayModeCustomization:NO];
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSToolbar.h:132:16: note: 'setAllowsDisplayModeCustomization:' has been marked as being introduced in macOS 15.0 here, but the deployment target is macOS 14.0.0
  132 | @property BOOL allowsDisplayModeCustomization API_AVAILABLE(macos(15.0), ios(18.0));
      |                ^
/Users/foo/dev/ladybird/UI/AppKit/Interface/TabController.mm:106:23: note: enclose 'setAllowsDisplayModeCustomization:' in an @available check to silence this warning
  106 |         [self.toolbar setAllowsDisplayModeCustomization:NO];
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
1 error generated.

Operating system

macOS

Steps to reproduce

  1. Follow the build instructions from here. (Not using Qt)
  2. Run ./Meta/ladybird.sh run it builds for a long time then fails with the error above.

Expected behavior

I think it should build on macOS 14?

If not, the docs should be adjusted to say it requires macOS 15 to build, and it should be checked early in the build process and error out rather than building for an hour then failing.

Actual behavior

Failed with the error above - 'setAllowsDisplayModeCustomization:' is only available on macOS 15.0 or newer

URL for a reduced test case

n/a

HTML/SVG/etc. source for a reduced test case

n/a

Log output and (if possible) backtrace

n/a

Screenshots or screen recordings

No response

Build flags or config settings

No response

Contribute a patch?

  • [ ] I’ll contribute a patch for this myself.

asmaloney avatar May 25 '25 17:05 asmaloney