Closed stefson closed 1 year ago
Those errors are while compiling librsvg, right? You will have to ask librsvg to update those dependencies. Rustc has nothing to do with this.
librsvg uses the same crate, and has the same bug which they fixed in their main branch by updating the crossbeam-utils crate to a fixed version.
rust definitely does vendor the crossbeam-utils crate in ../rustc-1.65.0-src/vendor/crossbeam-utils-0.8.8
I can ask the original reporter for a build log of rust bootstrapping? He has to use this patch:
diff --git a/vendor/crossbeam-utils/no_atomic.rs b/rustc-1.62.1-src-new/vendor/crossbeam-utils/no_atomic.rs
index 390019e..f7a5fe4 100644
--- a/vendor/crossbeam-utils/no_atomic.rs
+++ b/vendor/crossbeam-utils/no_atomic.rs
@@ -43,6 +43,7 @@ const NO_ATOMIC_64: &[&str] = &[
"powerpc-unknown-linux-gnu",
"powerpc-unknown-linux-gnuspe",
"powerpc-unknown-linux-musl",
+ "powerpc-gentoo-linux-musl",
"powerpc-unknown-netbsd",
"powerpc-unknown-openbsd",
"powerpc-wrs-vxworks",
Right, rustc does use it. That version is only used when compiling rustc itself though. Librsvg will use the one vendored by librsvg. I can make a PR to update rustc, but I don't think that will fix building librsvg.
librsvg already fixed this in main branch.
Yes, the compile when bootstraping rustc does fail at the moment the crossbeam crate is made use of.
fixed versions are: crossbeam-utils 0.8.13, crossbeam-queue 0.3.7, and crossbeam-epoch 0.9.12
by the way, do you happen to know why there is also another folder of crossbeam-utils vendored, lacking any version number? ../rustc-1.65.0-src/vendor/crossbeam-utils
It seems that cargo vendor
only appends a version identifier when there are multiple versions of the same crate. In addition it seems to skip the version identifier for exactly 1 of the versions even if there are multiple versions. For example when I try cargo vendor
in a crate that uses two versions of ahash I get:
Vendoring ahash v0.7.6 (/home/bjorn/.cargo/registry/src/github.com-1ecc6299db9ec823/ahash-0.7.6) to vendor/ahash-0.7.6
Vendoring ahash v0.8.2 (/home/bjorn/.cargo/registry/src/github.com-1ecc6299db9ec823/ahash-0.8.2) to vendor/ahash
[...]
hello everyone,
some linux targets use a custom vendor in their rustc, and it so happens that the crossbeam crate missdetects the target. Here is an example from librsvg when using powerpc-gentoo-linux-musl:
there is a fix for the missdetection, which was merged in https://github.com/crossbeam-rs/crossbeam/pull/922
that fix was backported to crossbeam-utils 0.8.13, crossbeam-queue 0.3.7, and crossbeam-epoch 0.9.12
can you please consider to update the rust vendored crates to a fixed state?
thank you