Skip to content
This repository has been archived by the owner on Apr 6, 2020. It is now read-only.

Compiling is failing any time #117

Closed
daniel-Q6wUOI opened this issue Sep 13, 2017 · 10 comments
Closed

Compiling is failing any time #117

daniel-Q6wUOI opened this issue Sep 13, 2017 · 10 comments

Comments

@daniel-Q6wUOI
Copy link

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
Copy link
Member

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? :/

@daniel-Q6wUOI
Copy link
Author

@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
Copy link
Member

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.

@daniel-Q6wUOI
Copy link
Author

@steveklabnik Ok :D, learned something new again

@ghost
Copy link

ghost commented Sep 13, 2017

@steveklabnik Will the Project continue to be developed?

@steveklabnik
Copy link
Member

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
Copy link

ghost commented Sep 14, 2017

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

@steveklabnik
Copy link
Member

@daniel-Q6wUOI are you still seeing this?

@daniel-Q6wUOI
Copy link
Author

daniel-Q6wUOI commented Mar 9, 2018 via email

@steveklabnik
Copy link
Member

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants