我正在尝试构建rust-fractal-gui,但构建总是失败与这些错误:
$ cargo build --release
...
Compiling parking_lot v0.11.2
error: cannot find macro `llvm_asm` in this scope
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/elision.rs:77:13
|
77 | llvm_asm!("xacquire; lock; cmpxchgq $2, $1"
| ^^^^^^^^
error: cannot find macro `llvm_asm` in this scope
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/elision.rs:108:13
|
108 | llvm_asm!("xrelease; lock; xaddq $2, $1"
| ^^^^^^^^
error[E0635]: unknown feature `llvm_asm`
--> /home/riley/.cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.2/src/lib.rs:14:42
|
14 | #![cfg_attr(feature = "nightly", feature(llvm_asm))]
| ^^^^^^^^
For more information about this error, try `rustc --explain E0635`.
error: could not compile `parking_lot` due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
rustup show
输出:
rustup home: /home/riley/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu (default)
nightly-x86_64-unknown-linux-gnu
1.48.0-x86_64-unknown-linux-gnu
active toolchain
----------------
nightly-x86_64-unknown-linux-gnu (directory override for '/home/riley/projects/rust-fractal-gui')
rustc 1.64.0-nightly (c2f428d2f 2022-07-14)
我已经用rustup update nightly
更新了我的夜间工具链到最新版本,然后rustup override set nightly
看到这个问题,但它没有解决这个问题。
自rustc-nightly-2022-01-17
以来,宏llvm_asm!
被删除,以支持新的asm!
宏。rust-fractal-gui
使用的是parking_lot
的过时版本,该版本仍然使用llvm_asm!
宏,导致此错误。已经合并了一个PR来修复这个问题。