Repository navigation
Setting strip = true in Cargo.toml makes build scripts fail in release mode on MacOS #110536
Copy link
Copy link
Closed
Closed
Copy link
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)A-linkageArea: linking into static, shared libraries and binariesArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.Category: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcI-unsoundIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessO-macosOperating system: macOSOperating system: macOSP-mediumMedium priorityMedium priorityregression-untriagedUntriaged performance or correctness regression.Untriaged performance or correctness regression.
Description
git clone https://github.com/fschutt/azul --depth=1 --branch macbug
cd azul/azul-dll
cargo build --release
fails with:
$ cargo clean && cargo build --release
Compiling autocfg v1.1.0
Compiling proc-macro2 v1.0.36
Compiling unicode-xid v0.2.2
Compiling syn v1.0.92
Compiling libc v0.2.119
Compiling cfg-if v1.0.0
Compiling lazy_static v1.4.0
Compiling serde_derive v1.0.140
Compiling serde v1.0.140
Compiling bitflags v1.3.2
Compiling crossbeam-utils v0.8.7
Compiling adler v1.0.2
error: failed to run custom build command for `syn v1.0.92`
Caused by:
process didn't exit successfully: `/Users/fs/Development/azul/target/release/build/syn-2cd6b288f9ab7997/build-script-build` (signal: 9, SIGKILL: kill)
warning: build failed, waiting for other jobs to finish...
but when running it with cargo build, it works:
Compiling autocfg v1.1.0
Compiling proc-macro2 v1.0.36
Compiling unicode-xid v0.2.2
Compiling syn v1.0.92
Compiling libc v0.2.119
Compiling cfg-if v1.0.0
Compiling lazy_static v1.4.0
Compiling serde_derive v1.0.140
Compiling serde v1.0.140
Compiling bitflags v1.3.2
[...]
Finished dev [optimized + debuginfo] target(s) in 54.78s
Meta
rustc --version --verbose:
rustc 1.71.0-nightly (c609da59d 2023-04-18)
binary: rustc
commit-hash: c609da59d9fc05b1c7dc879d79700ccd8140b5fc
commit-date: 2023-04-18
host: aarch64-apple-darwin
release: 1.71.0-nightly
LLVM version: 16.0.2
There was a time when cargo build --release worked, since I have old release builds of libazul.dylib from 22/08/22 (last August). It seems that upgrading my Mac has broken it (potentially an XCode upgrade). Currently I am on macOS 13.3.1 (22E261), I remember that it worked on Monterey (release date 24/10/22). It is very likely that it doesn't have anything to do with Rust / cargo itself, but it is weird that build scripts work in debug mode, but not in release mode.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)Area: Debugging information in compiled programs (DWARF, PDB, etc.)A-linkageArea: linking into static, shared libraries and binariesArea: linking into static, shared libraries and binariesC-bugCategory: This is a bug.Category: This is a bug.E-needs-bisectionCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcCall for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustcI-unsoundIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessIssue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/SoundnessO-macosOperating system: macOSOperating system: macOSP-mediumMedium priorityMedium priorityregression-untriagedUntriaged performance or correctness regression.Untriaged performance or correctness regression.
Activity
fschutt commentedon Apr 19, 2023
I "solved" this by changing
strip = falsein the[profile.release]section. Seems to be that some symbols are being stripped prematurely![-]cargo build --release fails to run build scripts on M1 Macs, but cargo build (debug) works[/-][+]Setting strip = true in Cargo.toml makes build scripts fail in release mode on MacOS[/+]apiraino commentedon Apr 20, 2023
@fschutt can you report if this happens also on the stable or a beta rustc channel? Can you also report when it did stop working for you? Ideally we'd want to bisect this to the Rust release where it actually stopped working. Thanks!
apiraino commentedon Apr 20, 2023
WG-prioritization assigning priority (Zulip discussion). Also needs to be bisected
@rustbot label -I-prioritize +P-high +E-needs-bisect
n8henrie commentedon Mar 27, 2024
Are you perhaps running into #122902 (comment) ?
Rollup merge of rust-lang#130781 - monkeydbobo:mdb/fix_up_cross_compi…
Unrolled build for rust-lang#130781
madsmtm commentedon Oct 10, 2024
Fixed by #130781.