From e719f9c7c41f556a6c72f6078ca927c47c4275aa Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Thu, 22 May 2025 11:10:31 +0100 Subject: [PATCH] fix: use system ranlib (#4163) --- packages/cli/src/build/request.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/cli/src/build/request.rs b/packages/cli/src/build/request.rs index 7a118252c..ed371dd8f 100644 --- a/packages/cli/src/build/request.rs +++ b/packages/cli/src/build/request.rs @@ -1582,6 +1582,13 @@ impl BuildRequest { let bytes = out_ar.into_inner().context("Failed to finalize archive")?; std::fs::write(&out_ar_path, bytes).context("Failed to write archive")?; tracing::debug!("Wrote fat archive to {:?}", out_ar_path); + + // Run the ranlib command to index the archive. This slows down this process a bit, + // but is necessary for some linkers to work properly. + // We ignore its error in case it doesn't recognize the architecture + if let Some(ranlib) = self.select_ranlib() { + _ = Command::new(ranlib).arg(&out_ar_path).output().await; + } } compiler_rlibs.dedup(); @@ -3937,4 +3944,11 @@ r#"