Rod*_*tro 3 rust rust-crates rust-cargo
所以我对我的代码做了一些更改,并尝试在我的工作计算机上编译它。我收到与 ntapi 包相关的以下错误:
\n error[E0793]: reference to packed field is unaligned\n --> C:\\Users\\u\\.cargo\\registry\\src\\github.com-1eccb9ec823\\ntapi-0.3.6\\src\\ntexapi.rs:2785:52\n |\n2785 | *tick_count.QuadPart_mut() = read_volatile(&(*USER_SHARED_DATA).u.TickCountQuad);\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)\n = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)\n\nerror[E0793]: reference to packed field is unaligned\n --> C:\\Users\\u\\.cargo\\registry\\src\\github.com-1ecc9ec823\\ntapi-0.3.6\\src\\ntexapi.rs:2809:25\n |\n2809 | ((read_volatile(&(*USER_SHARED_DATA).u.TickCountQuad)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n |\n = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)\n = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)\n\nFor more information about this error, try `rustc --explain E0793`.\nerror: could not compile `ntapi` due to 2 previous errors\nwarning: build failed, waiting for other jobs to finish...\nRun Code Online (Sandbox Code Playgroud)\n接下来是几个小时的尝试找出问题所在。正如此线程中所述,我尝试强制更新 ntapi 但我没有设法做到这一点。当我回到家时,我提交了更改并打开了我的家用电脑。结果在我的家用电脑上编译没有问题。我很困惑。有人知道这里发生了什么事吗?
\n货物.toml:
\n[package]\nname = "caravel"\nversion = "0.1.0"\nedition = "2018"\n\n# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html\n\n[dependencies]\ntokio = { version = "1", features = ["full"] }\nfutures = "0.3"\nanyhow = "1.0.32"\nclap = "3.0.0-beta.5"\nstructopt = "0.3.16"\nshell-words = "1.0.0"\nfutures-util = "0.3.17"\nenv_logger = "0.9"\nlog = "0.4"\n\n\n[target.\'cfg(not(target_os = "windows"))\'.dependencies]\ntokio-socketcan = "0.3.0"\nRun Code Online (Sandbox Code Playgroud)\n货物树输出:
\ncaravel v0.1.0 ()\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 anyhow v1.0.44\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 clap v3.0.0-beta.5\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 atty v0.2.14\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bitflags v1.3.2\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 clap_derive v3.0.0-beta.5 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 heck v0.3.3\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicode-segmentation v1.8.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-error v1.0.4\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-error-attr v1.0.4 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicode-xid v0.2.2\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 quote v1.0.10\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 version_check v0.9.3\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 syn v1.0.80\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicode-xid v0.2.2\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 version_check v0.9.3\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 syn v1.0.80 (*)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 indexmap v1.7.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 hashbrown v0.11.2\n\xe2\x94\x82 \xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 autocfg v1.0.1\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lazy_static v1.4.0\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 os_str_bytes v4.2.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 memchr v2.4.1\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 strsim v0.10.0\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 termcolor v1.1.2\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi-util v0.1.5\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 textwrap v0.14.2\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicode-width v0.1.9\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicase v2.6.0\n\xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 version_check v0.9.3\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 env_logger v0.9.0\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 atty v0.2.14 (*)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 humantime v2.1.0\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 log v0.4.14\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 cfg-if v1.0.0\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 regex v1.5.4\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 aho-corasick v0.7.18\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 memchr v2.4.1\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 memchr v2.4.1\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 regex-syntax v0.6.25\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 termcolor v1.1.2 (*)\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures v0.3.17\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-channel v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-core v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 futures-sink v0.3.17\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-core v0.3.17\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-executor v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-core v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-task v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 futures-util v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-channel v0.3.17 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-core v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-io v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-macro v0.3.17 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-hack v0.5.19 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 syn v1.0.80 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 autocfg v1.0.1\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-sink v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-task v0.3.17\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 memchr v2.4.1\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pin-project-lite v0.2.7\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pin-utils v0.1.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-hack v0.5.19 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-nested v0.1.7\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 slab v0.4.5\n\xe2\x94\x82 \xe2\x94\x82 [build-dependencies]\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 autocfg v1.0.1\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-io v0.3.17\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-sink v0.3.17\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-task v0.3.17\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 futures-util v0.3.17 (*)\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 futures-util v0.3.17 (*)\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 log v0.4.14 (*)\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 shell-words v1.0.0\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 structopt v0.3.25\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 clap v2.33.3\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 atty v0.2.14 (*)\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bitflags v1.3.2\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 strsim v0.8.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 textwrap v0.11.0\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 unicode-width v0.1.9\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 unicode-width v0.1.9\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vec_map v0.8.2\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lazy_static v1.4.0\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 structopt-derive v0.4.18 (proc-macro)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 heck v0.3.3 (*)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro-error v1.0.4 (*)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 syn v1.0.80 (*)\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tokio v1.12.0\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bytes v1.1.0\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 memchr v2.4.1\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mio v0.7.13\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 log v0.4.14 (*)\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 miow v0.3.7\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ntapi v0.3.6\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 num_cpus v1.13.0\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 libc v0.2.103\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 once_cell v1.8.0\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 parking_lot v0.11.2\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 instant v0.1.11\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 cfg-if v1.0.0\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lock_api v0.4.5\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 scopeguard v1.1.0\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 parking_lot_core v0.8.5\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cfg-if v1.0.0\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 instant v0.1.11 (*)\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 smallvec v1.7.0\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pin-project-lite v0.2.7\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tokio-macros v1.4.1 (proc-macro)\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 proc-macro2 v1.0.29 (*)\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 quote v1.0.10 (*)\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 syn v1.0.80 (*)\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 winapi v0.3.9\n [build-dependencies]\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 autocfg v1.0.1\nRun Code Online (Sandbox Code Playgroud)\n货物-V:
\ncargo 1.69.0 (6e9a83356 2023-04-12)\nRun Code Online (Sandbox Code Playgroud)\n
出于某种原因(我不知道为什么)Cargo 选择了一个旧版本tokio(间接)使用了一个旧版本,ntapi它使用了一个始终是 UB 的构造,但因为它在过去是允许的,所以它过去只触发软未来不兼容警告。但从Rust 1.69.0 开始,它变成了一个硬错误,因此在工作中它无法编译。很可能你家里的版本较低,所以它在那里工作。
tokio通过将其版本设置为"1.28.0"(最新版本)来强制 Cargo 使用 new ,它应该可以工作。
| 归档时间: |
|
| 查看次数: |
4653 次 |
| 最近记录: |