RWTH-OS / eduOS-rs

A teaching operating system written in Rust
https://rwth-os.github.io/eduOS-rs/
Apache License 2.0
434 stars 27 forks source link

cannot build!!! #13

Closed 756445638 closed 3 years ago

756445638 commented 3 years ago
yuyang@yuyang-PC:~/projects/eduOS-rs$ cargo build 
   Compiling eduos-rs v0.1.0 (/home/yuyang/projects/eduOS-rs)
warning: target json file contains unused fields: eliminate-frame-pointer

error[E0557]: feature has been removed
 --> src/lib.rs:1:17
  |
1 | #![feature(asm, const_fn, llvm_asm, lang_items)]
  |                 ^^^^^^^^ feature has been removed
  |
  = note: split into finer-grained feature gates

warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/lib.rs:7:12
  |
7 | #![feature(specialization)]
  |            ^^^^^^^^^^^^^^
  |
  = note: `#[warn(incomplete_features)]` on by default
  = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
  = help: consider using `min_specialization` instead, which is more stable and complete

For more information about this error, try `rustc --explain E0557`.
warning: `eduos-rs` (lib) generated 2 warnings
error: could not compile `eduos-rs` due to previous error; 2 warnings emitted
yuyang@yuyang-PC:~/projects/eduOS-rs$ cargo version 
cargo 1.55.0-nightly (d21c22870 2021-07-26)
stlankes commented 3 years ago

Yes, it doesn't work with the latest Rust compiler. I will update the kernel.

756445638 commented 3 years ago

thanks!

756445638 commented 3 years ago

which rust version can build and run this os??

jounathaen commented 3 years ago

The last commit in this repo was on the 06.02.2021. Maybe you try the nightly from that day or a few days earlier

BaderSZ commented 3 years ago

Hi,

Just to piggyback on this: Yes, you cannot run the project on any newer nightly build of rust. You'll need an older toolchain such as nightly-2021-02-01-x86_64-unknown-linux-gnu for it to compile. The newer one, even with a few corrections, returns several assembler errors due to an llvm bug (I will update issue #12 regarding this).