intermezzOS / kernel

A hobby operating system, in Rust
http://intermezzos.github.io/
Apache License 2.0
1.39k stars 91 forks source link

Compiling is failing any time #117

Closed ghost closed 6 years ago

ghost commented 7 years ago

So I was playing around with this stuff, and it didn't compiled once. I installed everything thats needed, but which libary do I miss when compiling it?

The output:

daniel@daniel-8o23dad:~/projects/os/kernel$ RUST_BACKTRACE=1 xargo build --release --target x86_64-unknown-intermezzos-gnu --verbose
+ "rustc" "--print" "sysroot"
+ "rustc" "--print" "target-list"
+ RUSTFLAGS="--sysroot /home/daniel/.xargo"
+ "cargo" "build" "--release" "--target" "x86_64-unknown-intermezzos-gnu" "--verbose"
       Fresh console v0.1.0 (file:///home/daniel/projects/os/kernel/console)
       Fresh byteorder v0.5.3
       Fresh raw-cpuid v2.0.1
       Fresh libc v0.2.16
       Fresh rustc-serialize v0.3.19
       Fresh bitflags v0.7.0
       Fresh rlibc v1.0.0
       Fresh phf_shared v0.7.16
       Fresh num-traits v0.1.36
       Fresh spin v0.4.4
       Fresh keyboard v0.1.0 (file:///home/daniel/projects/os/kernel/keyboard)
   Compiling intermezzos v0.1.0 (file:///home/daniel/projects/os/kernel)
       Fresh rand v0.3.14
       Fresh csv v0.14.7
       Fresh phf v0.7.16
     Running `/home/daniel/projects/os/kernel/target/release/build/intermezzos-9f5c58ede529b3e6/build-script-build`
       Fresh num-complex v0.1.35
       Fresh num-integer v0.1.32
       Fresh lazy_static v0.2.1
       Fresh phf_generator v0.7.16
       Fresh num-bigint v0.1.35
       Fresh num-iter v0.1.32
       Fresh phf_codegen v0.7.16
       Fresh num-rational v0.1.35
       Fresh num v0.1.36
       Fresh serde v0.6.15
       Fresh serde_json v0.6.1
       Fresh x86 v0.8.1
       Fresh pic v0.1.0 (file:///home/daniel/projects/os/kernel/pic)
       Fresh interrupts v0.1.0 (file:///home/daniel/projects/os/kernel/interrupts)
     Running `rustc --crate-name intermezzos src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 -C panic=abort -C metadata=a5f8d0c159026232 -C extra-filename=-a5f8d0c159026232 --out-dir /home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps --target x86_64-unknown-intermezzos-gnu -L dependency=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps -L dependency=/home/daniel/projects/os/kernel/target/release/deps --extern spin=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libspin-2e95bf66a70d82f7.rlib --extern pic=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libpic-e52c5dc844b294ba.rlib --extern rlibc=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/librlibc-3d5ca23970e1763b.rlib --extern keyboard=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libkeyboard-eab5eb9c2612608d.rlib --extern console=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libconsole-898e9b38d65bf2a3.rlib --extern interrupts=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libinterrupts-472aab710c3d4eff.rlib --extern x86=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libx86-40e865de7e1eb5d8.rlib --extern lazy_static=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/liblazy_static-f2c83931040bd2fb.rlib --sysroot /home/daniel/.xargo -L native=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/build/intermezzos-664041d978565111/out -l static=boot`
     Running `rustc --crate-name intermezzos src/main.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C metadata=73ba34d58d8c787f -C extra-filename=-73ba34d58d8c787f --out-dir /home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps --target x86_64-unknown-intermezzos-gnu -L dependency=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps -L dependency=/home/daniel/projects/os/kernel/target/release/deps --extern spin=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libspin-2e95bf66a70d82f7.rlib --extern pic=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libpic-e52c5dc844b294ba.rlib --extern rlibc=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/librlibc-3d5ca23970e1763b.rlib --extern keyboard=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libkeyboard-eab5eb9c2612608d.rlib --extern console=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libconsole-898e9b38d65bf2a3.rlib --extern interrupts=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libinterrupts-472aab710c3d4eff.rlib --extern x86=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libx86-40e865de7e1eb5d8.rlib --extern lazy_static=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/liblazy_static-f2c83931040bd2fb.rlib --extern intermezzos=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libintermezzos-a5f8d0c159026232.rlib --sysroot /home/daniel/.xargo -L native=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/build/intermezzos-664041d978565111/out`
warning: unused extern crate
  --> src/main.rs:12:1
   |
12 | extern crate rlibc;
   | ^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_extern_crates)] on by default

warning: unused extern crate
  --> src/main.rs:13:1
   |
13 | extern crate spin;
   | ^^^^^^^^^^^^^^^^^^

warning: unused extern crate
  --> src/main.rs:15:1
   |
15 | extern crate console;
   | ^^^^^^^^^^^^^^^^^^^^^

error: linking with `gcc` failed: exit code: 1
  |
  = note: "gcc" "-Wl,--script=layout.ld" "-Wl,--nmagic" "-nostartfiles" "-L" "/home/daniel/.xargo/lib/rustlib/x86_64-unknown-intermezzos-gnu/lib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/intermezzos-73ba34d58d8c787f.0.o" "-o" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/intermezzos-73ba34d58d8c787f" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps" "-L" "/home/daniel/projects/os/kernel/target/release/deps" "-L" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/build/intermezzos-664041d978565111/out" "-L" "/home/daniel/.xargo/lib/rustlib/x86_64-unknown-intermezzos-gnu/lib" "-Wl,-Bstatic" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/librlibc-3d5ca23970e1763b.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libkeyboard-eab5eb9c2612608d.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/liblazy_static-f2c83931040bd2fb.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libintermezzos-a5f8d0c159026232.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libinterrupts-472aab710c3d4eff.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libspin-2e95bf66a70d82f7.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libpic-e52c5dc844b294ba.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libx86-40e865de7e1eb5d8.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libphf-59dad5c67dcb08ae.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libphf_shared-2f2f832e88cc18d1.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libraw_cpuid-836331a5adb599e3.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libbitflags-df92c0f529cb93d8.rlib" "/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libconsole-898e9b38d65bf2a3.rlib" "/home/daniel/.xargo/lib/rustlib/x86_64-unknown-intermezzos-gnu/lib/libcore-53a02f271ea0ee12.rlib" "-Wl,-Bdynamic"
  = note: /usr/bin/ld: /home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libintermezzos-a5f8d0c159026232.rlib(boot.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
          /usr/bin/ld: final link failed: Nonrepresentable section on output
          collect2: error: ld returned 1 exit status

error: aborting due to previous error

error: Could not compile `intermezzos`.

Caused by:
  process didn't exit successfully: `rustc --crate-name intermezzos src/main.rs --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C metadata=73ba34d58d8c787f -C extra-filename=-73ba34d58d8c787f --out-dir /home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps --target x86_64-unknown-intermezzos-gnu -L dependency=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps -L dependency=/home/daniel/projects/os/kernel/target/release/deps --extern spin=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libspin-2e95bf66a70d82f7.rlib --extern pic=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libpic-e52c5dc844b294ba.rlib --extern rlibc=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/librlibc-3d5ca23970e1763b.rlib --extern keyboard=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libkeyboard-eab5eb9c2612608d.rlib --extern console=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libconsole-898e9b38d65bf2a3.rlib --extern interrupts=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libinterrupts-472aab710c3d4eff.rlib --extern x86=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libx86-40e865de7e1eb5d8.rlib --extern lazy_static=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/liblazy_static-f2c83931040bd2fb.rlib --extern intermezzos=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/deps/libintermezzos-a5f8d0c159026232.rlib --sysroot /home/daniel/.xargo -L native=/home/daniel/projects/os/kernel/target/x86_64-unknown-intermezzos-gnu/release/build/intermezzos-664041d978565111/out` (exit code: 101)
steveklabnik commented 7 years ago

Hm; I'm not sure what this error is about.

I haven't had the time to work on this in a few months; I wonder if something changed in Rust nightly and this has bitrotted? :/

ghost commented 7 years ago

@steveklabnik What do you mean by 'bitrotted'? And yeah, maybe something has changed in Rust. I will keep this first down, so it won't be important fir now.

steveklabnik commented 7 years ago

https://en.wikipedia.org/wiki/Software_rot ; basically, the code used to work, but something changed, and now it doesn't work anymore, because it's old. Kind of like rot with food or other perishable items.

ghost commented 7 years ago

@steveklabnik Ok :D, learned something new again

ghost commented 7 years ago

@steveklabnik Will the Project continue to be developed?

steveklabnik commented 7 years ago

Absolutely; this is a long-term thing for me. I've been trying to schedule some regular time in the near future, but haven't yet. Hobby time is hard to find sometimes 😄

ghost commented 7 years ago

@steveklabnik I am very anxious for the project to be further developed and for the conclusion of the Book

steveklabnik commented 6 years ago

@daniel-Q6wUOI are you still seeing this?

ghost commented 6 years ago

Never tried it again. Can be closed.

Am 06.03.2018 12:00 schrieb Steve Klabnik notifications@github.com:

@daniel-Q6wUOIhttps://github.com/daniel-q6wuoi are you still seeing this?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/intermezzOS/kernel/issues/117#issuecomment-370744803, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Acweh3vc_tez0_XPGqLJw5wTDvn4eAUKks5tbmxMgaJpZM4PWTba.

steveklabnik commented 6 years ago

Thanks / sorry! We're hoping that things will be much easier in the future, but we're not quite there yet.