Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated aarch64-unknown-linux-gnu rustflags, updated rust Earthly targets #54

Merged
merged 2 commits into from
Oct 25, 2023

Conversation

Mr-Leshiy
Copy link
Contributor

@Mr-Leshiy Mr-Leshiy commented Oct 24, 2023

Close #53

  • fixed aarch64-unknown-linux-gnu rustflags, to solve an issue with cargo-nextest build, disable target-feature=+crt-static flag
  • updated rust Earthly targets, added with_cargo_nextest, with_cargo_chef, with_kani, with_refinery and with_cargo_machete earthly arguuments, so it is possible to conditionally install these tools.
  • fixed following issues on the aarch64-unknown-linux-gnu when eathly rust targets are runned on the macOS M1:
cannot produce proc-macro for `async-trait v0.1.74` as the target `aarch64-unknown-linux-gnu` does not support these crate types
Error: Kani does not support this platform (Rust target aarch64-unknown-linux-gnu)

@Mr-Leshiy Mr-Leshiy requested review from stevenj and jmgilman October 24, 2023 10:08
@Mr-Leshiy Mr-Leshiy self-assigned this Oct 24, 2023
earthly/rust/Earthfile Outdated Show resolved Hide resolved
earthly/rust/Earthfile Outdated Show resolved Hide resolved
]

[target.aarch64-unknown-linux-gnu]
linker = "clang"
rustflags = [
"-C", "link-arg=-fuse-ld=/usr/bin/mold",
"-C", "target-feature=+crt-static"
# "-C", "target-feature=+crt-static" - proc-macro doesn't work with it. `https://github.com/rust-lang/rust/issues/78210`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats not unexpected. The key point is to make sure when your target is built its NOT built with this target. This target can ONLY be used to build the compiler and its tooling.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it does not work for nextest, the same issue as with x86_64-unknown-linux-gnu

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nextest is just a tool, its ok to build it with the GNU tools. I hit this with x86 build as well. This is OK to disable for getting nextest to run.

]

[target.aarch64-unknown-linux-gnu]
linker = "clang"
rustflags = [
"-C", "link-arg=-fuse-ld=/usr/bin/mold",
"-C", "target-feature=+crt-static"
# "-C", "target-feature=+crt-static" - proc-macro doesn't work with it. `https://github.com/rust-lang/rust/issues/78210`
]

[target.aarch64-unknown-linux-musl]
Copy link
Collaborator

@stevenj stevenj Oct 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the target target.aarch64-unknown-linux-musl catalyst-gateway should build with on an apple mac (or any AArch64 based device actually).

@Mr-Leshiy Mr-Leshiy requested a review from stevenj October 25, 2023 10:47
@stevenj stevenj merged commit bf23f97 into master Oct 25, 2023
16 checks passed
@Mr-Leshiy Mr-Leshiy deleted the fix/rust-build branch October 25, 2023 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix rust build for macOS m1
2 participants