Skip to content

Instructions for building Godot on Mac OS do not work on Sonoma (14.4) Xcode 14.5 #9898

Open
@zaddok

Description

@zaddok

Your Godot version:

Godot: 4.3-stable
MacOS: 14.4, 14.6.1

Issue description:

The instructions for building Godot on Mac OS (Tested on Sonoma 14.4, and 14.6.1) are incomplete and/or don't work.

When you follow the instructions on the page, to install scons using brew, clone the repo, then use scons the following errors are generated:

godot % scons platform=macos arch=arm64

scons: Reading SConscript files ...
Auto-detected 12 CPU cores available for build parallelism. Using 11 cores by default. You can override it with the -j argument.
Building for macOS 11.0+.
Building for platform "macos", architecture "arm64", target "editor".
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
[Initial build] Compiling platform/macos/os_macos.mm ...
[Initial build] Compiling platform/macos/godot_application.mm ...
[Initial build] Compiling platform/macos/godot_application_delegate.mm ...
[Initial build] Compiling platform/macos/crash_handler_macos.mm ...
[Initial build] Compiling platform/macos/macos_terminal_logger.mm ...
In file included from platform/macos/godot_application.mm:31:
In file included from platform/macos/godot_application.h:34:
In file included from ./core/os/os.h:34:
In file included from ./core/config/engine.h:34:
In file included from ./core/os/main_loop.h:34:
In file included from ./core/input/input_event.h:35:
In file included from ./core/io/resource.h:34:
In file included from ./core/io/resource_uid.h:34:
In file included from ./core/object/ref_counted.h:34:
In file included from ./core/object/class_db.h:34:
In file included from ./core/object/method_bind.h:34:
In file included from ./core/variant/binder_common.h:35:
In file included from ./core/object/object.h:35:
In file included from ./core/object/message_queue.h:35:
In file included from ./core/os/thread_safe.h:34In file included from :
platform/macos/os_macos.mm:31:
In file included from platform/macos/os_macos.h:35:
In file included from platform/macos/joypad_macos.h:31:
In file included from ./core/input/input.h:34:
In file included from ./core/input/input_event.h:35:
In file included from ./core/io/resource.h:34:
In file included from ./core/io/resource_uid.h:34:
In file included from ./core/object/ref_counted.h:34:
In file included from ./core/object/class_db.h:34:
In file included from ./core/object/method_bind.h:34:
In file included from ./core/variant/binder_common.h:35:
In file included from ./core/object/object.h:35:
In file included from ./core/os/mutex.h:34:
In file included from ./core/error/error_macros.h:36:
In file included from ./core/object/message_queue.h:35:
In file included from In file included from ./core/os/thread_safe.h/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/atomic::34522:
:
In file included from In file included from ./core/os/mutex.h/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/__atomic/aliases.h::3420:
:
In file included from ./core/error/error_macros.h/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/cstdlib::36144:
:In file included from 9/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/atomic:: error: no member named 'at_quick_exit' in the global namespace
522:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/__atomic/aliases.h:20:
using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/cstdlib
:144      ~~^:
9: error: no member named 'at_quick_exit' in the global namespace
using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
      ~~^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/cstdlib:145:9: error: no member named 'quick_exit' in the global namespace
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/c++/v1/cstdlib:145:9: errorusing ::quick_exit _LIBCPP_USING_IF_EXISTS;
: no member named 'quick_exit' in the global namespace      ~~^

using ::quick_exit _LIBCPP_USING_IF_EXISTS;
      ~~^

There are actually thousands of errors, I have just included up until the first few errors appear.

I wonder if there are other dependencies needed, or if Xcode needs to be a certain version?

URL to the documentation page:

https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_macos.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:contributingIssues and PRs related to the Contributing/Development section of the documentationbugplatform:macos

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions