fix(cli): diagnose missing extension archives before linking - #11007
proggeramlug wants to merge 2 commits into
Conversation
|
Warning Review limit reachedNext included review available in 59 seconds. View limit detailsLimit details: You’ve used all 8 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Landed on main in merge train 257 (#11039, v0.5.1640), main Carried at head This train was split by blast radius after an earlier 35-PR assembly hit five gap regressions: it carries only PRs touching no lowering path. Trains rebase-merge, so commits get new SHAs and GitHub cannot mark this merged. Closed as landed. |
Fixes #11002.
The compile pipeline already runs
nmon emitted object files and the core archives before invoking the linker. It now records undefined symbols owned by a well-known extension, checks definitions in the selected archives, and reports any missing extension archive with its Cargo package and search-path hint. Network wrappers get a joint build command so they share Tokio with the stdlib archive.The check runs before stub generation or the final link. It reports one deterministic message per missing archive, and skips symbols already defined by a linked archive.
Validation:
cargo check --profile perry-dev -p perrymissing_ext_archive_names_emitted_symbols_and_their_providerscargo build --profile perry-dev -p perryPERRY_NO_AUTO_OPTIMIZE=1compile of anode:netimport with core archives only: previously reachedldwith undefined_js_ext_net_nm_install; now exits before linking and nameslibperry_ext_net.a, the joint build command, andPERRY_RUNTIME_DIR/PERRY_LIB_DIR.cargo fmt --all --check,scripts/check_file_size.sh,git diff --check, and raw-handle debt ratchet (906 → 906)