Comments (14)
No, the error is from warning(link): framework not found for '-framework Security'
because zig does not bundle all the macOS frameworks.
from cargo-zigbuild.
You can supply a SDKROOT
env var to tell zig cc
about the path to macOS SDK.
from cargo-zigbuild.
I think you can use
SDKROOT=`xcrun --show-sdk-path` cargo zigbuild ...
if you are building on macOS.
from cargo-zigbuild.
Thanks for the quick reply. It works 👍
from cargo-zigbuild.
Unfortunately, the artifacts of zigbuild are not executable on macOS.
project on main [$!] is 📦 v0.1.0 via 🦀 v1.62.1
❯ cargo zigbuild --release --target aarch64-apple-darwin
Finished release [optimized] target(s) in 0.06s
project on main [$!] is 📦 v0.1.0 via 🦀 v1.62.1
❯ ./target/aarch64-apple-darwin/release/binary
[1] 92924 killed ./target/aarch64-apple-darwin/release/binary
But the result of cargo build --release --target aarch64-apple-darwin
is worked.
How can I help you debug this problem?
from cargo-zigbuild.
Can you run it through lldb
and paste the backtrace?
from cargo-zigbuild.
I tried some parameters and finally found that the build profile was the problem. When I removed strip = true
, everything was fine.
[profile.release]
strip = true
lto = true
codegen-units = 1
panic = "abort"
Could you please describe in more detail some of the operations of lldb if you need some additional information?
from cargo-zigbuild.
lldb ./target/aarch64-apple-darwin/release/binary
run
If it crashes lldb should stop and present you a stacktrace, run bt all
to get full backtrace.
from cargo-zigbuild.
Something strange happened:
When I run cargo build --release --target aarch64-apple-darwin
for the first time and execute it with lldb run
, it executes fine.
But when I execute it the second time using lldb it exits directly.
❯ lldb ./target/aarch64-apple-darwin/release/binary
(lldb) target create "./target/aarch64-apple-darwin/release/binary"
[1] 4572 killed lldb ./target/aarch64-apple-darwin/release/binary
from cargo-zigbuild.
After simple testing, the problem appears to exist only in target aarch64-apple-darwin
.
on Intel Macbook Pro:
aarch64-apple-darwin: killed
x86_64-apple-darwin: work
x86_64-unknown-linux-gnu: work
on M1 Pro:
aarch64-apple-darwin: killed
x86_64-apple-darwin: work
x86_64-unknown-linux-gnu: work
from cargo-zigbuild.
FYI, if you are already building on macOS, cargo build
should just work, no need to use cargo-zigbuild
.
from cargo-zigbuild.
Thanks, I mainly use cargo-zigbuild
for Linux artifacts. Just tried macOS out of curiosity, but found this problem
from cargo-zigbuild.
I suspect it's a zig issue, consider report to zig if you can reproduce it with zig cc
only.
from cargo-zigbuild.
FYI, if you are already building on macOS,
cargo build
should just work, no need to usecargo-zigbuild
.
Might still be helpful because of this issue: rust-lang/rust#55235.
Just stumbled over this today... currently not able to build a x86_64 Apple binary on M1 MacBook Pro :(
EDIT: found a workaround.... install the x86_64 toolchain along with the aarch64 one
rustup toolchain install stable-x86_64-apple-darwin
and then run
cargo +stable-x86_64-apple-darwin build --release
Worked even with some C (-sys) crates involved.
from cargo-zigbuild.
Related Issues (20)
- unsupported linker arg: /tmp/.../list.def HOT 1
- How to build with `cargo auditable` HOT 4
- Command::new("cargo-zigbuild") doesn't shutdown when aborting HOT 4
- Support forwarding subcommand `locate-project` please HOT 1
- CC 1.0.84 fails with `UnknownOperatingSystem` HOT 2
- Is cross-compilation on Linux for Windows possible? HOT 2
- zig fstack-protector bug
- No backtrace symbols on MacOS w/ Apple Silicon HOT 4
- note: error: unable to find Dynamic system library 'z' using strategy 'no_fallback'. searched paths: HOT 1
- Unknown type and functions when cross compiling zlib-ng v2.1.5 to aarch64 linux HOT 1
- cargo-zigbuild fails to compile crates that depend on linkme
- Fails to build some crates that depend on CC variable - ring etc HOT 9
- i use x86 macos with zigbuild buid aarch64-apple-darwin , but strip will cause exe error
- How to pass -fno-sanitize=undefined to `zig cc`?
- Version bump from Rust 1.73 to Rust 1.75 for `Dockerfile`
- cargo-zigbuild doesn't seem to utilize cargo config HOT 1
- `universal2-apple-darwin` panics under workspace HOT 2
- `cargo zigbuild` doesn't support static glibc builds with an explicit `--target` HOT 12
- Running `cargo doc` with `cargo-zigbuild` HOT 2
- CMake error on FLTK HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cargo-zigbuild.