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
Carried: libc 0.2.190+ breaks the iOS check through netdev 0.46.3 (in6_ifreq) #668
Dependency problem, carried per CONTRIBUTING (Problems that may be a dependency's).
Localize. The dependabot bump #665 (libc 0.2.189 → 0.2.190) fails only the iOS check (cargo check -p tcode-ios --target aarch64-apple-ios-sim). Reproduced locally on the branch.
Impact. The iOS build of Tcode cannot compile with libc 0.2.190. Desktop, Android, Web are unaffected.
Cause (confirmed in the dependency sources). libc 0.2.190 moves AF_SYS_CONTROL, SYSPROTO_EVENT, SYSPROTO_CONTROL and the _dyld_get_image_header / _dyld_get_image_vmaddr_slide declarations inside cfg(target_os = "macos") (src/unix/bsd/apple/mod.rs:3075 and :5047–5050 in 0.2.190; unconditional in 0.2.189). Two consumers still reference them on every Apple target:
backtrace 0.3.76 (src/symbolize/gimli/libs_macos.rs:46, :140), pulled in by gpui — no fixed release yet (0.3.76 is the latest; master still calls them unconditionally).
Status (2026-10-25). backtrace no longer blocks: libc 0.2.191 restores the Mach/dyld API on non-macOS Apple targets (rust-lang/libc #5612, #5636), and backtrace 0.3.76 + libc 0.2.191 checks clean for aarch64-apple-ios-sim. The remaining blocker is netdev 0.46.3 (latest), reached through tcode-traverse → iroh → netwatch/portmapper: src/os/darwin/ipv6_addr_flags.rs:19 uses libc::in6_ifreq on every Apple target, while libc 0.2.191 and libc main still define it only for macOS (error[E0425]: cannot find type in6_ifreq in crate libc). The fix exists only as an open upstream PR (shellrow/netdev#192); iroh 1.4.1 / netwatch 0.20.0 still require netdev ^0.46.3.
Carry.crates/platform/gpui-ios/Cargo.toml holds libc = ">=0.2, <0.2.190" with a comment naming both consumers. Remove the hold, and the backtrace half of its comment, when a netdev release no longer needs libc::in6_ifreq on iOS and iroh's netwatch resolves to it; libc can then move to 0.2.191 or later.
changed the title [-]Carried: libc 0.2.190 breaks the iOS check through backtrace 0.3.76[/-][+]Carried: libc 0.2.190+ breaks the iOS check through netdev 0.46.3 (in6_ifreq)[/+]on Oct 24, 2026
Activity
build(deps): hold libc below 0.2.190 until backtrace gates its Apple-…
build(deps): bump the cargo-minor-and-patch group, hold libc below 0.…
[-]Carried: libc 0.2.190 breaks the iOS check through backtrace 0.3.76[/-][+]Carried: libc 0.2.190+ breaks the iOS check through netdev 0.46.3 (in6_ifreq)[/+]Keep libc at 0.2.189 and stop Dependabot lifting the iOS cap
build(deps): bump the cargo-minor-and-patch group, keeping libc at 0.…