Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

broken build for iOS branch 4.3 on latest Xcode #97999

Closed
theromis opened this issue Oct 9, 2024 · 5 comments
Closed

broken build for iOS branch 4.3 on latest Xcode #97999

theromis opened this issue Oct 9, 2024 · 5 comments

Comments

@theromis
Copy link
Contributor

theromis commented Oct 9, 2024

Tested versions

4.3

System information

iOS
Xcode 16.0 (16A242d)

Issue description

scons platform=ios target=template_release arch=arm64

macos run fails

Steps to reproduce

> godot.orig git:(4.3) ✗ scons platform=ios target=template_release arch=arm64

scons: Reading SConscript files ...
Auto-detected 16 CPU cores available for build parallelism. Using 15 cores by default. You can override it with the -j argument.
Building for platform "ios", architecture "arm64", target "template_release".
Checking for C header file mntent.h... (cached) no
scons: done reading SConscript files.
scons: Building targets ...
[  2%] Generating modules/modules_enabled.gen.h ...
[ 13%] Compiling thirdparty/libktx/lib/basis_transcode.cpp ...
[ 13%] Compiling platform/ios/view_controller.mm ...
[ 13%] Compiling platform/ios/display_server_ios.mm ...
[ 13%] Compiling platform/ios/os_ios.mm ...
[ 13%] Compiling platform/ios/keyboard_input_view.mm ...
[ 13%] Compiling main/main.cpp ...
[ 13%] Compiling platform/ios/godot_ios.mm ...
[ 13%] Compiling platform/ios/godot_view.mm ...
[ 13%] Compiling main/performance.cpp ...
[ 13%] Compiling platform/ios/joypad_ios.mm ...
[ 13%] Compiling platform/ios/app_delegate.mm ...
[ 13%] Compiling platform/ios/display_layer.mm ...
[ 13%] Compiling platform/ios/rendering_context_driver_vulkan_ios.mm ...
[ 13%] Compiling platform/ios/ios_terminal_logger.mm ...
[ 13%] Compiling main/steam_tracker.cpp ...
[ 13%] Compiling main/main_timer_sync.cpp ...
[ 13%] Compiling platform/ios/tts_ios.mm ...
[ 13%] Generating modules/register_module_types.gen.cpp ...
[ 13%] In file included from platform/ios/rendering_context_driver_vulkan_ios.mm:31:
In file included from platform/ios/rendering_context_driver_vulkan_ios.h:36:
In file included from ./drivers/vulkan/rendering_context_driver_vulkan.h:41:
In file included from thirdparty/vulkan/include/vulkan/vulkan.h:10:
thirdparty/vulkan/include/vulkan/vk_platform.h:76:9: error: import of C++ module 'std_stdint_h' appears within extern "C" language linkage specification [-Wmodule-import-in-extern-c,15]
   76 |          #include <stdint.h>
      |          ^
thirdparty/vulkan/include/vulkan/vk_platform.h:15:1: note: extern "C" language linkage specification begins here [2]
   15 |  extern "C"
      |  ^
[ 13%] In file included from platform/ios/rendering_context_driver_vulkan_ios.mm:31:
In file included from platform/ios/rendering_context_driver_vulkan_ios.h:36:
In file included from ./drivers/vulkan/rendering_context_driver_vulkan.h:41:
In file included from thirdparty/vulkan/include/vulkan/vulkan.h:11:
In file included from thirdparty/vulkan/include/vulkan/vulkan_core.h:8325:
In file included from thirdparty/vulkan/include/vk_video/vulkan_video_codec_h264std.h:24:
thirdparty/vulkan/include/vk_video/vulkan_video_codecs_common.h:25:5: error: import of C++ module 'std_stdint_h' appears within extern "C" language linkage specification [-Wmodule-import-in-extern-c,15]
   25 |      #include <stdint.h>
      |      ^
thirdparty/vulkan/include/vk_video/vulkan_video_codecs_common.h:17:1: note: extern "C" language linkage specification begins here [2]
   17 |  extern "C" {
      |  ^
[ 14%] Compiling modules/register_module_types.gen.cpp ...
[ 14%] Compiling platform/ios/godot_view_renderer.mm ...
2 errors generated.
scons: *** [platform/ios/rendering_context_driver_vulkan_ios.ios.template_release.arm64.o] Error 1
In file included from platform/ios/godot_ios.mm:31:
In file included from platform/ios/os_ios.h:48:
In file included from platform/ios/rendering_context_driver_vulkan_ios.h:36:
In file included from ./drivers/vulkan/rendering_context_driver_vulkan.h:41:
In file included from thirdparty/vulkan/include/vulkan/vulkan.h:10:
thirdparty/vulkan/include/vulkan/vk_platform.h:76:9: error: import of C++ module 'std_stdint_h' appears within extern "C" language linkage specification [-Wmodule-import-in-extern-c,15]

Minimal reproduction project (MRP)

regular git clone

@theromis theromis changed the title iOS build branch 4.3 on latest Xcode broken broken build for iOS branch 4.3 on latest Xcode Oct 9, 2024
@AThousandShips
Copy link
Member

Sounds like:

Can you test with latest master?

@theromis
Copy link
Contributor Author

theromis commented Oct 9, 2024

Latest master works fine, 4.3 fails, just don't know what I can cherry-pick from master to 4.3 to fix

btw: I found few useful iOS functions https://github.com/godotengine/godot/blob/master/platform/ios/ios.mm#L41-L44
but I can't reference them from scripts, can somebody explain how I can use this "optional" iOS functions?

@AThousandShips
Copy link
Member

AThousandShips commented Oct 9, 2024

Try cherry-picking the fix for that issue:

Closing as this has been resolved and the fix in 4.4 is marked for cherry picking, thank you for reporting

Edit: Wasn't originally marked for cherry-picking but added now

@AThousandShips AThousandShips closed this as not planned Won't fix, can't repro, duplicate, stale Oct 9, 2024
@theromis
Copy link
Contributor Author

theromis commented Oct 9, 2024

Thank you, cherry pick with manuall conflict resolution worked for me

@zaddok
Copy link

zaddok commented Dec 7, 2024

I have manually applied this patch to my checkout of the 4.3 branch and I can confirm for people on 4.3, that this patch does allow building on MacOS 15.1 using Xcode 16.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants