Skip to content

"was built for iOS 16.4" warning #650

Closed
rust-lang/rust
#133092
@Augustyniak

Description

@Augustyniak

Seeing the following type of errors after upgrading from rust 1.79 to 1.80:

ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[441](ee9320b67fe2b8d4-lse_ldadd8_acq.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[442](ee9320b67fe2b8d4-lse_ldadd8_rel.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[443](ee9320b67fe2b8d4-lse_ldadd8_acq_rel.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[444](ee9320b67fe2b8d4-lse_ldclr1_relax.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[445](ee9320b67fe2b8d4-lse_ldclr1_acq.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
ld: warning: object file (external/Capture/Capture.xcframework/ios-arm64/Capture.framework/Capture[446](ee9320b67fe2b8d4-lse_ldclr1_rel.o)) was built for newer 'iOS' version (16.4) than being linked (15.0)
The full list of problematic `.o` files
lse_cas1_relax.o
lse_cas1_acq.o
lse_cas1_rel.o
lse_cas1_acq_rel.o
lse_cas2_relax.o
lse_cas2_acq.o
lse_cas2_rel.o
lse_cas2_acq_rel.o
lse_cas4_relax.o
lse_cas4_acq.o
lse_cas4_rel.o
lse_cas4_acq_rel.o
lse_cas8_relax.o
lse_cas8_acq.o
lse_cas8_rel.o
lse_cas8_acq_rel.o
lse_cas16_relax.o
lse_cas16_acq.o
lse_cas16_rel.o
lse_cas16_acq_rel.o
lse_swp1_relax.o
lse_swp1_acq.o
lse_swp1_rel.o
lse_swp1_acq_rel.o
lse_swp2_relax.o
lse_swp2_acq.o
lse_swp2_rel.o
lse_swp2_acq_rel.o
lse_swp4_relax.o
lse_swp4_acq.o
lse_swp4_rel.o
lse_swp4_acq_rel.o
lse_swp8_relax.o
lse_swp8_acq.o
lse_swp8_rel.o
lse_swp8_acq_rel.o
lse_ldadd1_relax.o
lse_ldadd1_acq.o
lse_ldadd1_rel.o
lse_ldadd1_acq_rel.o
lse_ldadd2_relax.o
lse_ldadd2_acq.o
lse_ldadd2_rel.o
lse_ldadd2_acq_rel.o
lse_ldadd4_relax.o
lse_ldadd4_acq.o
lse_ldadd4_rel.o
lse_ldadd4_acq_rel.o
lse_ldadd8_relax.o
lse_ldadd8_acq.o
lse_ldadd8_rel.o
lse_ldadd8_acq_rel.o
lse_ldclr1_relax.o
lse_ldclr1_acq.o
lse_ldclr1_rel.o
lse_ldclr1_acq_rel.o
lse_ldclr2_relax.o
lse_ldclr2_acq.o
lse_ldclr2_rel.o
lse_ldclr2_acq_rel.o
lse_ldclr4_relax.o
lse_ldclr4_acq.o
lse_ldclr4_rel.o
lse_ldclr4_acq_rel.o
lse_ldclr8_relax.o
lse_ldclr8_acq.o
lse_ldclr8_rel.o
lse_ldclr8_acq_rel.o
lse_ldeor1_relax.o
lse_ldeor1_acq.o
lse_ldeor1_rel.o
lse_ldeor1_acq_rel.o
lse_ldeor2_relax.o
lse_ldeor2_acq.o
lse_ldeor2_rel.o
lse_ldeor2_acq_rel.o
lse_ldeor4_relax.o
lse_ldeor4_acq.o
lse_ldeor4_rel.o
lse_ldeor4_acq_rel.o
lse_ldeor8_relax.o
lse_ldeor8_acq.o
lse_ldeor8_rel.o
lse_ldeor8_acq_rel.o
lse_ldset1_relax.o
lse_ldset1_acq.o
lse_ldset1_rel.o
lse_ldset1_acq_rel.o
lse_ldset2_relax.o
lse_ldset2_acq.o
lse_ldset2_rel.o
lse_ldset2_acq_rel.o
lse_ldset4_relax.o
lse_ldset4_acq.o
lse_ldset4_rel.o
lse_ldset4_acq_rel.o
lse_ldset8_relax.o
lse_ldset8_acq.o
lse_ldset8_rel.o
lse_ldset8_acq_rel.o
aarch64.o
absvdi2.o
absvsi2.o
addtf3.o
addvdi3.o
addvsi3.o
clzdi2.o
clzsi2.o
cmpdi2.o
comparetf2.o
ctzdi2.o
ctzsi2.o
divdc3.o
divsc3.o
divtf3.o
extenddftf2.o
extendhfsf2.o
extendsftf2.o
fp_mode.o
fixtfdi.o
fixtfsi.o
fixtfti.o
fixunstfdi.o
fixunstfsi.o
fixunstfti.o
floatditf.o
floatsitf.o
floatunditf.o
floatunsitf.o
int_util.o
muldc3.o
mulsc3.o
multc3.o
multf3.o
mulvdi3.o
mulvsi3.o
negdf2.o
negdi2.o
negsf2.o
negvdi2.o
negvsi2.o
paritydi2.o
paritysi2.o
popcountdi2.o
popcountsi2.o
powitf2.o
subtf3.o
subvdi3.o
subvsi3.o
truncdfhf2.o
truncsfhf2.o
trunctfdf2.o
trunctfsf2.o
ucmpdi2.o
atomic_flag_clear.o
atomic_flag_clear_explicit.o
atomic_flag_test_and_set.o
atomic_flag_test_and_set_explicit.o
atomic_signal_fence.o
atomic_thread_fence.o

Activity

tgross35

tgross35 commented on Jul 31, 2024

@tgross35
Contributor

Hm, could you open this issue in the main rust repo at https://github.com/rust-lang/rust? Those files may have originated from compiler-builtins but nothing version-dependent should have changed in this repo.

(unless #590 had something to do with it? Or the weak linkage change)

Augustyniak

Augustyniak commented on Jul 31, 2024

@Augustyniak
Author

Thanks for the suggestion. I updated the description of the issue with more details and opened rust-lang/rust#128419.

changed the title [-]"was built for iOS 16.4 error" error[/-] [+]"was built for iOS 16.4" warning[/+] on Jul 31, 2024
tgross35

tgross35 commented on Jul 31, 2024

@tgross35
Contributor

Those PRs I linked also didn't get into rust-lang/rust until a couple days ago so wouldn't be in 1.80. I don't think there is a compiler-builtins update between 1.79 and 1.80 (but will have to double check).

Reflejo

Reflejo commented on Aug 4, 2024

@Reflejo

Narrowed down the problem. The problem is that after this change cc-rs stopped looking at rustc deployment target (e.g. rustc --target aarch64-apple-ios-sim --print deployment-target) in favor of just defaulting to the hosts' platform version (e.g. xcrun --show-sdk-platform-version --sdk iphonesimulator) when IPHONEOS_DEPLOYMENT_TARGET is not set.

So even if the rest of rust is doing the right thing defaulting to 10.0, when std includes compiler-builtins with the c feature, the units in the compiled libcompiler-rt.a archive have minos equal to your host tooling and when included, the whole library now is assumed to have that min deploy target.

I can think on two options here:

  1. Set IPHONEOS_DEPLOYMENT_TARGET in the ci job that builds the assets to 14.0 (this is the minimum cc-rs would take).
    or
  2. Bump rustc min targets to something more realistic and get cc-rs back to check those numbers.
added a commit that references this issue on Nov 29, 2024

Rollup merge of rust-lang#133092 - madsmtm:bootstrap-deployment-targe…

a8b54d6
added 2 commits that reference this issue on Feb 5, 2025

Auto merge of rust-lang#133092 - madsmtm:bootstrap-deployment-target,…

Auto merge of rust-lang#133092 - madsmtm:bootstrap-deployment-target,…

added a commit that references this issue on Feb 10, 2025

Rollup merge of rust-lang#133092 - madsmtm:bootstrap-deployment-targe…

6197543
added 3 commits that reference this issue on Feb 10, 2025

Auto merge of rust-lang#133092 - madsmtm:bootstrap-deployment-target,…

Auto merge of rust-lang#133092 - madsmtm:bootstrap-deployment-target,…

Auto merge of rust-lang#133092 - madsmtm:bootstrap-deployment-target,…

7 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      Participants

      @Reflejo@Augustyniak@madsmtm@tgross35

      Issue actions

        "was built for iOS 16.4" warning · Issue #650 · rust-lang/compiler-builtins