-
Notifications
You must be signed in to change notification settings - Fork 26
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
Can't build recent gitoxide
versions
#124
Comments
The error originates in I can reproduce the issue on the latest version of the repo from git and Rust 1.70. I will investigate further. Thank you for the report! |
Thanks for looking into this, reporting it is the least I can do when seeing something like this ;) |
It seems to be a bug in Unfortunately this is something that will have to be fixed in Cargo, so I cannot provide an ETA for the fix. I will make a minimal reproducing example and submit the issue upstream. |
I've filed an issue upstream: rust-lang/cargo#12336 But the turnaround on Cargo issues is not very quick, so I might have to work around this somehow - perhaps with another call to |
I have the same issue building Wasmtime. The conflict seems to be related to rust-lang/cargo#10788. The build succeeds without cargo-auditable. Are there any workarounds for this issue that do not include disabling cargo-auditable? |
I found a workaround that seems to work. Patched Wasmtime. -wasi = ['wasi-cap-std-sync', 'wasmtime-wasi', 'cap-std', 'wasi-common']
+wasi = ['wasi-cap-std-sync', 'wasmtime-wasi', 'dep:cap-std', 'wasi-common'] |
Use `prodash` instead of `dep:prodash` in gix-features and `tracing` instead of `dep:tracing` in gitoxide-core. The `dep:mydep` syntax removes the implicit `mydep` feature for optional dependencies, this triggers a bug in cargo that affects `cargo-auditable`. See rust-lang/cargo#12336 This affects some Linux distributions like NixOS which use `cargo-auditable` by default. Related issues: - NixOS/nixpkgs#253911 - rust-secure-code/cargo-auditable#124
Use `prodash` instead of `dep:prodash` in gix-features and `tracing` instead of `dep:tracing` in gitoxide-core. The `dep:mydep` syntax removes the implicit `mydep` feature for optional dependencies, this triggers a bug in cargo that affects `cargo-auditable`. See rust-lang/cargo#12336 This affects some Linux distributions like NixOS which use `cargo-auditable` by default. Related issues: - NixOS/nixpkgs#253911 - rust-secure-code/cargo-auditable#124
Any update on this? It affects other packages as well, like lightningcss parcel-bundler/lightningcss#702. |
Unfortunately this is a bug in Cargo itself, and AFAIK there is nothing I can really do to fix that in The proper way to do this would be in Cargo, or to integrate |
I don't really understand, it works in |
rust-lang/rfcs#3553 would be the proper, correct solution to this problem. Until then, there may be hope for working around Cargo passing nonexistent features to When compiling a crate, Cargo sets the current working directory of the child rustc process to the crate’s directory. Therefore, we could discover the However, that ties |
If you run |
Fortunately that is not a problem if I run Besides that, I will only need to run |
I have prototyped a fix in the https://github.com/rust-secure-code/cargo-auditable/tree/fix-dep-features branch. Tests pass, but I don't have a way to check if that fixes the issue because the latest versions of gitoxide, wasmtime and lightningcss build successfully even without these changes. |
Okay, I managed to reproduce this on |
Okay, it seems that I don't think I can work around the issue in |
https://github.com/Byron/gitoxide doesn't successfully build with cargo-auditable anymore. It fails in
cargo-auditable/cargo-auditable/src/collect_audit_data.rs
Lines 77 to 80 in 9fa7fb3
That reads to me as if something tried to enable a prodash feature on gix-features, but I couldn't find such a thing.
For context, afaict, v0.23.0 is the last version that builds. Anything newer than that runs into the above issue. I ran into this while trying to update the version of gitoxide we ship on Void Linux.
The text was updated successfully, but these errors were encountered: