You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am attempting to follow the edition-3 instructions. I am currently on the Using the DiskImageBuilder step. Once I add the bootloader dependency I get the compiler error shown below.
I've attempted to pin the bootloader and bootloader_api crate versions to those specified in the docs, with errors resolved in later versions (proc_macro). My version of Rust is 1.85.0-nightly.
Compiling bootloader v0.11.8
error: failed to run custom build command for `bootloader v0.11.8`
Caused by:
process didn't exit successfully: `/home/kstewart/Nextcloud/Projects/Rust/os2/target/debug/build/bootloader-0fce06f805b868ea/build-script-build` (exit status: 101)
--- stderr
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Updating crates.io index
Ignored package `bootloader-x86_64-bios-boot-sector v0.11.8` is already installed, use --force to override
warning: be sure to add `/home/kstewart/Nextcloud/Projects/Rust/os2/target/debug/build/bootloader-f7327baa02045b49/out/bin` to your PATH to be able to run the installed binaries
Ignored package `bootloader-x86_64-bios-stage-2 v0.11.8` is already installed, use --force to override
warning: be sure to add `/home/kstewart/Nextcloud/Projects/Rust/os2/target/debug/build/bootloader-f7327baa02045b49/out/bin` to your PATH to be able to run the installed binaries
Ignored package `bootloader-x86_64-bios-stage-3 v0.11.8` is already installed, use --force to override
warning: be sure to add `/home/kstewart/Nextcloud/Projects/Rust/os2/target/debug/build/bootloader-f7327baa02045b49/out/bin` to your PATH to be able to run the installed binaries
Blocking waiting for file lock on package cache
Updating crates.io index
Installing bootloader-x86_64-uefi v0.11.8
Blocking waiting for file lock on package cache
Updating crates.io index
Installing bootloader-x86_64-bios-stage-4 v0.11.8
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Updating crates.io index
Blocking waiting for file lock on package cache
warning: package `atomic-polyfill v0.1.11` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
warning: package `critical-section v1.1.1` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
Blocking waiting for file lock on package cache
warning: package `atomic-polyfill v0.1.11` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
warning: package `critical-section v1.1.1` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
Updating crates.io index
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Updating crates.io index
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Compiling compiler_builtins v0.1.138
Compiling core v0.0.0 (/home/kstewart/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling proc-macro2 v1.0.63
Compiling quote v1.0.29
Compiling unicode-ident v1.0.10
Compiling autocfg v1.1.0
Compiling semver v1.0.17
Compiling syn v1.0.109
Compiling compiler_builtins v0.1.138
Compiling serde v1.0.166
Compiling rustversion v1.0.13
Compiling bootloader_api v0.11.8
Compiling core v0.0.0 (/home/kstewart/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling rustc_version v0.4.0
Compiling lock_api v0.4.10
Compiling proc-macro2 v1.0.63
Compiling unicode-ident v1.0.10
Compiling autocfg v1.1.0
Compiling quote v1.0.29
Compiling syn v2.0.23
Compiling semver v1.0.17
Compiling heapless v0.7.16
Compiling serde v1.0.166
Compiling lock_api v0.4.10
Compiling rustversion v1.0.13
Compiling bootloader_api v0.11.8
Compiling rustc_version v0.4.0
Compiling syn v2.0.23
Compiling bootloader-x86_64-bios-stage-4 v0.11.8
Compiling heapless v0.7.16
Compiling serde_derive v1.0.166
Compiling serde_derive v1.0.166
Compiling ptr_meta_derive v0.2.0
Compiling uefi-macros v0.11.0
Compiling rustc-std-workspace-core v1.99.0 (/home/kstewart/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling rustc-std-workspace-core v1.99.0 (/home/kstewart/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling scopeguard v1.1.0
Compiling bit_field v0.10.2
Compiling bitflags v1.3.2
Compiling volatile v0.4.6
Compiling rand_core v0.6.4
Compiling byteorder v1.4.3
Compiling spin v0.9.8
Compiling x86_64 v0.14.10
Compiling zero v0.1.3
Compiling hash32 v0.2.1
Compiling stable_deref_trait v1.2.0
Compiling conquer-util v0.3.0
Compiling log v0.4.19
Compiling conquer-once v0.3.2
error[E0053]: method `steps_between` has an incompatible type for trait
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/addr.rs:348:51
|
348 | fn steps_between(start: &Self, end: &Self) -> Option<usize> {
| ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
|
= note: expected signature `fn(&addr::VirtAddr, &addr::VirtAddr) -> (usize, Option<usize>)`
found signature `fn(&addr::VirtAddr, &addr::VirtAddr) -> Option<usize>`
help: change the output type to match the trait
|
348 | fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
| ~~~~~~~~~~~~~~~~~~~~~~
error[E0053]: method `steps_between` has an incompatible type for trait
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/structures/paging/page.rs:272:51
|
272 | fn steps_between(start: &Self, end: &Self) -> Option<usize> {
| ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
|
= note: expected signature `fn(&Page<_>, &Page<_>) -> (usize, Option<usize>)`
found signature `fn(&Page<_>, &Page<_>) -> Option<usize>`
help: change the output type to match the trait
|
272 | fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
| ~~~~~~~~~~~~~~~~~~~~~~
Compiling xmas-elf v0.8.0
Compiling rand v0.8.5
error[E0599]: `(usize, Option<usize>)` is not an iterator
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/structures/paging/page.rs:274:14
|
273 | / Step::steps_between(&start.start_address, &end.start_address)
274 | | .map(|steps| steps / S::SIZE as usize)
| | -^^^ `(usize, Option<usize>)` is not an iterator
| |_____________|
|
|
= note: the following trait bounds were not satisfied:
`(usize, Option<usize>): Iterator`
which is required by `&mut (usize, Option<usize>): Iterator`
Some errors have detailed explanations: E0053, E0599.
For more information about an error, try `rustc --explain E0053`.
error: could not compile `x86_64` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
Compiling scopeguard v1.1.0
Compiling bitflags v1.3.2
Compiling rand_core v0.6.4
Compiling bit_field v0.10.2
Compiling volatile v0.4.6
Compiling byteorder v1.4.3
Compiling spin v0.9.8
Compiling x86_64 v0.14.10
Compiling stable_deref_trait v1.2.0
Compiling hash32 v0.2.1
Compiling log v0.4.19
Compiling conquer-util v0.3.0
error[E0053]: method `steps_between` has an incompatible type for trait
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/addr.rs:348:51
|
348 | fn steps_between(start: &Self, end: &Self) -> Option<usize> {
| ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
|
= note: expected signature `fn(&addr::VirtAddr, &addr::VirtAddr) -> (usize, Option<usize>)`
found signature `fn(&addr::VirtAddr, &addr::VirtAddr) -> Option<usize>`
help: change the output type to match the trait
|
348 | fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
| ~~~~~~~~~~~~~~~~~~~~~~
Compiling zero v0.1.3
error[E0053]: method `steps_between` has an incompatible type for trait
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/structures/paging/page.rs:272:51
|
272 | fn steps_between(start: &Self, end: &Self) -> Option<usize> {
| ^^^^^^^^^^^^^ expected `(usize, Option<usize>)`, found `Option<usize>`
|
= note: expected signature `fn(&Page<_>, &Page<_>) -> (usize, Option<usize>)`
found signature `fn(&Page<_>, &Page<_>) -> Option<usize>`
help: change the output type to match the trait
|
272 | fn steps_between(start: &Self, end: &Self) -> (usize, Option<usize>) {
| ~~~~~~~~~~~~~~~~~~~~~~
Compiling xmas-elf v0.8.0
Compiling conquer-once v0.3.2
Compiling rand v0.8.5
error: failed to compile `bootloader-x86_64-uefi v0.11.8`, intermediate artifacts can be found at `/tmp/cargo-installzpbiaY`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
error[E0599]: `(usize, Option<usize>)` is not an iterator
--> /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/x86_64-0.14.10/src/structures/paging/page.rs:274:14
|
273 | / Step::steps_between(&start.start_address, &end.start_address)
274 | | .map(|steps| steps / S::SIZE as usize)
| | -^^^ `(usize, Option<usize>)` is not an iterator
| |_____________|
|
|
= note: the following trait bounds were not satisfied:
`(usize, Option<usize>): Iterator`
which is required by `&mut (usize, Option<usize>): Iterator`
thread 'main' panicked at /home/kstewart/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bootloader-0.11.8/build.rs:95:9:
failed to build uefi bootloader
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Compiling rand_hc v0.3.2
Compiling raw-cpuid v10.7.0
Some errors have detailed explanations: E0053, E0599.
For more information about an error, try `rustc --explain E0053`.
Compiling spinning_top v0.2.5
error: could not compile `x86_64` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
error: failed to compile `bootloader-x86_64-bios-stage-4 v0.11.8`, intermediate artifacts can be found at `/tmp/cargo-installEC0LSG`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
The text was updated successfully, but these errors were encountered:
I am attempting to follow the edition-3 instructions. I am currently on the Using the DiskImageBuilder step. Once I add the bootloader dependency I get the compiler error shown below.
I've attempted to pin the bootloader and bootloader_api crate versions to those specified in the docs, with errors resolved in later versions (proc_macro). My version of Rust is 1.85.0-nightly.
The text was updated successfully, but these errors were encountered: