You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mac LUCI builders' Xcode should include iOS 14 SDK #65901
Do you mean add the iOS 13.4 SDK to the current version of Xcode? We can do that with some symlinking with Xcode, I think.
We can't upgrade the engine builder clang version (Xcode version) beyond the minimum Xcode version enforced in the tool, or we will break bitcode again. Current minimum is Xcode 11.0.0, which shipped the iOS 13.0 SDK.
See internal documentation and internal post-mortem.
\cc @nturgut who I think has added newer SDKs to older versions of Xcode in LUCI.
\cc @dnfield to bring down the hammer on us all if we break bitcode again.
I have a bad feeling TAPI had to get a lot more sophisticated with archs/targets with the macOS ARM changes, and the Xcode 11 toolchain won't be able to handle it. Xcode 11 SDK is using tapi-tbd-v3 and looks like:
@LongCatIsLooong Do you know if the engine frameworks build with iOS 14 SDK against the Xcode 11 toolchain? I'm not sure how to override the buildtools clang paths.
I feel like it would have the same problem, but if it does happen to work, can we use the Xcode 11 hybrid package on the engine framework builders only, as opposed to any of the other builders running tests, etc?
The only place I had to use the iOS 13 sdk is the scenario app: https://github.com/flutter/engine/pull/21614/files, the ios frameworks are generated using the iOS 14 sdk. Does the scenario app have to use the iOS 14 sdk?
[3791/3800] SOLINK libFlutter.dylib libFlutter.dylib.TOC
ld: warning: building for iOS Simulator, but linking in .tbd file (/opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/lib/system/libsystem_kernel.tbd) built for macOS
ld: warning: building for iOS Simulator, but linking in .tbd file (/opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/lib/system/libsystem_platform.tbd) built for macOS
ld: warning: building for iOS Simulator, but linking in .tbd file (/opt/s/w/ir/cache/osx_sdk/XCode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk/usr/lib/system/libsystem_pthread.tbd) built for macOS
The warning only shows up when building simulator targets it seems. Bitcode must be disabled when building with --simulator right?
Still, not sure if these warnings are a sign of a real problem or not. Should we bundle ld with the ios 14 sdk, or use the stock sdk for building the scenario app?
@LongCatIsLooong We support bitcode for add-to-app, which can be run in the simulator (with the bitcode marker). If all you changed was the SDK and some stuff for the scenario app, it's probably fine if the framework compiles. If you also turned off bitcode during framework builds, that's a problem.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
gspencergoog commentedon Sep 23, 2020
Any ETA on this? It's blocking some feature work.
Cc @godofredoc
godofredoc commentedon Sep 23, 2020
Does this need be updated across engine, sdk and devicelab?
godofredoc commentedon Sep 24, 2020
We can move the xcode version on the sdk and engine with a small amount of effort but for devicelab that can take up to mid q4.
gspencergoog commentedon Sep 24, 2020
Hmm. I think that if the engine build is updated, then the engine artifacts should work on the devicelab.
godofredoc commentedon Sep 24, 2020
\cc @zanderso @jonahwilliams @jmagman any objections with updating the engine ios version to 13.4?
jmagman commentedon Sep 24, 2020
Do you mean add the iOS 13.4 SDK to the current version of Xcode? We can do that with some symlinking with Xcode, I think.
We can't upgrade the engine builder clang version (Xcode version) beyond the minimum Xcode version enforced in the tool, or we will break bitcode again. Current minimum is Xcode 11.0.0, which shipped the iOS 13.0 SDK.
See internal documentation and internal post-mortem.
jmagman commentedon Sep 24, 2020
\cc @nturgut who I think has added newer SDKs to older versions of Xcode in LUCI.
\cc @dnfield to bring down the hammer on us all if we break bitcode again.
godofredoc commentedon Sep 24, 2020
The builders automatically select the mac sdk correlated to the requested ios version. We only provide xcode version.
godofredoc commentedon Sep 24, 2020
We can update both sdk and engine xcode version at the same time but that will most likely break the devicelab.
gspencergoog commentedon Sep 24, 2020
Yes, I think just adding the SDK would work.
22 remaining items
jmagman commentedon Oct 5, 2020
I have Xcode 12 installed (no symlink SDK tricks) and when I run it, it works. The difference I see is that the Xcode 12 toolchain swapped out
-ios_simulator_version_min 8.0.0for-platform_version ios-simulator 8.0.0 14.0. Not sure if that's the problem, though.jmagman commentedon Oct 6, 2020
I have a bad feeling TAPI had to get a lot more sophisticated with archs/targets with the macOS ARM changes, and the Xcode 11 toolchain won't be able to handle it. Xcode 11 SDK is using
tapi-tbd-v3and looks like:and Xcode 12 SDK is on version 4:
jmagman commentedon Oct 6, 2020
@LongCatIsLooong Do you know if the engine frameworks build with iOS 14 SDK against the Xcode 11 toolchain? I'm not sure how to override the buildtools
clangpaths.I feel like it would have the same problem, but if it does happen to work, can we use the Xcode 11 hybrid package on the engine framework builders only, as opposed to any of the other builders running tests, etc?
LongCatIsLooong commentedon Oct 6, 2020
they do (at least some of them).
I'll open a test pr and point
SYSROOTto the ios 13 sdk, and see if there's anything else needs fixing.Update: that was it. Everything passed on the mac ios engine try builder.
jmagman commentedon Oct 6, 2020
But if it's pointing on the iOS 13
SYSROOTthen it's no better than we have now, right?I was able to get it working by symlinking the Xcode 12 linker into the Xcode 11 toolchain.
LongCatIsLooong commentedon Oct 6, 2020
The only place I had to use the iOS 13 sdk is the scenario app: https://github.com/flutter/engine/pull/21614/files, the ios frameworks are generated using the iOS 14 sdk. Does the scenario app have to use the iOS 14 sdk?
jmagman commentedon Oct 6, 2020
It looks like it's happening building the framework, too, though not sure why it's a warning and not an error.
https://logs.chromium.org/logs/flutter/led/weiyuhuang_google.com/13a6e979e3da140e383a604d97ef5dc322152c5ca429a9d4404599256d244540/+/steps/build_ios_debug_sim/0/stdout
LongCatIsLooong commentedon Oct 6, 2020
Removing the bitcode marker flag used to compile the scenario app turns that into a warning. I think it probably hit this line:
https://github.com/apple-opensource/ld64/blob/fd3feabb0a1eb18ab5d7910f3c3a5eed99cef6ab/src/ld/PlatformSupport.cpp#L156-L158
The warning only shows up when building simulator targets it seems. Bitcode must be disabled when building with
--simulatorright?Still, not sure if these warnings are a sign of a real problem or not. Should we bundle
ldwith the ios 14 sdk, or use the stock sdk for building the scenario app?jmagman commentedon Oct 6, 2020
@LongCatIsLooong We support bitcode for add-to-app, which can be run in the simulator (with the bitcode marker). If all you changed was the SDK and some stuff for the scenario app, it's probably fine if the framework compiles. If you also turned off bitcode during framework builds, that's a problem.
LongCatIsLooong commentedon Oct 13, 2020
Looks like flutter-team-archive/engine#20972 was able to build on CI. Closing.
Thanks for the help @godofredoc and @jmagman!
github-actions commentedon Aug 11, 2021
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.