Comments (8)
For what it is worth, I have also been toying around with something akin to what is in the edition 3 branch. Here's my rust-toolchain.toml file from the root of my workspace. (Note: I'm on an arm macbook, as such I cannot remember if the target also needs to be specified here or not):
[toolchain]
channel = "nightly-2023-04-03"
components = ["rust-src", "llvm-tools-preview", "rustfmt", "clippy"]
targets = ["x86_64-unknown-none"]
I suspect the part that is really worth sticking onto is the nightly version.
EDIT: Also my Cargo.toml workspace file is using package.resolver = "2"
.
from blog_os.
@Momijiichigo I would also recommend adding a kernel/.cargo/config.toml
and specifying the following, to make everything a bit easier to reproduce:
[unstable]
build-std = ["core", "compiler_builtins"]
[build]
target = "x86_64-unknown-none"
It's also worth considering pinning a specific nightly version in your toolchain file, and specifying your targets:
[toolchain]
channel = "nightly-2023-09-04"
components = ["rust-src", "llvm-tools-preview"]
targets = ["x86_64-unknown-none"]
Both of these make it a bit more reliable for others cloning your repo to reproduce your environment.
from blog_os.
Blog os required bootloader 0.9. It doesn't work with any later version of the bootloader crate as these rework the way building disk images is done.
from blog_os.
Blog os required bootloader 0.9. It doesn't work with any later version of the bootloader crate as these rework the way building disk images is done.
they are following the draft of edition 3 which uses 0.11
from blog_os.
I see. I think this is a cargo bug in the bin deps feature. I would guess it unified features between the kernel itself and the crate that builds the disk image.
from blog_os.
@kastermester Thank you so much!!!
Adding resolver = "2"
in the Cargo.toml solved the problem!! I never thought about that!!
from blog_os.
@torrancew thanks for the advice!
Now I'm closing this issue since it's resolved
from blog_os.
As an alternative to resolver = "2"
, you can also set edition = "2021"
where the new resolver is the default. You already set the edition for your sub-crates, but not for the root crate.
from blog_os.
Related Issues (20)
- 翻译缺漏:在最小内核->使用cargo run 一段缺少.toml
- `post-02` branch cannot be built successfully HOT 1
- Undefined behavior by creating reference to level 4 page table? HOT 1
- How to debug in vscode? HOT 5
- Very tiny typo HOT 1
- Misaligned Pointer panic in the Paging Introduction post HOT 8
- build-std broken as of nightly 74c482104 (2023-05-04) HOT 4
- Post-3.2 Does not compile HOT 2
- post-02 broken on bootloader 0.11.3 and Rust nightly 2023-05-06 HOT 3
- %1 is not a valid Win32 application. (os error 193) HOT 4
- Build-std in cargo.toml is ignored when building HOT 2
- post-04 - Conditional compilation does not seem to work HOT 2
- [Translation] How to help translate to Spanish? HOT 2
- Very very huge Error when using [cargo bootimage] HOT 2
- Is there any way to interact with the filesystem through the bootloader or other crates? HOT 3
- UI Design HOT 2
- cargo bootimage failing HOT 3
- Tests seem to run for both lib and main HOT 2
- Design Enhancement HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blog_os.