Dec 06 03:49:43.593 INFO testing christopherjmedlin/yalc8emu against try#6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468 for pr-56514 Dec 06 03:49:43.593 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56514/worker-6/try#6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-6/pr-56514/try#6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468:/source:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/source" "-e" "USER_ID=1000" "-e" "CMD=cargo +6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt build --frozen" "-e" "CARGO_TARGET_DIR=/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/cargo-home" "-e" "RUSTUP_HOME=/rustup-home" "-m" "1536M" "--network" "none" "crater"` Dec 06 03:49:44.055 INFO [stdout] 8c10b9a9227aee44edb46252b8653c1916b0ddfba77d17a7eba70eb48dc3a8fa Dec 06 03:49:44.060 INFO running `"docker" "start" "-a" "8c10b9a9227aee44edb46252b8653c1916b0ddfba77d17a7eba70eb48dc3a8fa"` Dec 06 03:49:45.120 INFO [stderr] usermod: no changes Dec 06 03:49:45.220 INFO [stderr] Compiling sdl2 v0.31.0 Dec 06 03:49:49.853 INFO [stderr] Compiling chip8 v0.1.0 (/source) Dec 06 03:49:50.550 INFO [stderr] warning: unused import: `Duration` Dec 06 03:49:50.551 INFO [stderr] --> src/cpu/timers.rs:1:26 Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] 1 | use std::time::{Instant, Duration}; Dec 06 03:49:50.551 INFO [stderr] | ^^^^^^^^ Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 06 03:49:50.551 INFO [stderr] Dec 06 03:49:50.551 INFO [stderr] warning: unused import: `std::num::Wrapping` Dec 06 03:49:50.551 INFO [stderr] --> src/cpu/mod.rs:6:5 Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] 6 | use std::num::Wrapping; Dec 06 03:49:50.551 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 06 03:49:50.551 INFO [stderr] Dec 06 03:49:50.551 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 06 03:49:50.551 INFO [stderr] --> src/cpu/mod.rs:378:22 Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] 378 | let end = if (x > 0xf) {0xf} else {x}; Dec 06 03:49:50.551 INFO [stderr] | ^^^^^^^^^ help: remove these parentheses Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 06 03:49:50.551 INFO [stderr] Dec 06 03:49:50.551 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 06 03:49:50.551 INFO [stderr] --> src/cpu/mod.rs:389:22 Dec 06 03:49:50.551 INFO [stderr] | Dec 06 03:49:50.551 INFO [stderr] 389 | let end = if (x > 0xf) {0xf} else {x}; Dec 06 03:49:50.551 INFO [stderr] | ^^^^^^^^^ help: remove these parentheses Dec 06 03:49:50.551 INFO [stderr] Dec 06 03:49:50.668 INFO [stderr] warning: unused variable: `why` Dec 06 03:49:50.668 INFO [stderr] --> src/rom.rs:9:13 Dec 06 03:49:50.668 INFO [stderr] | Dec 06 03:49:50.668 INFO [stderr] 9 | Err(why) => panic!("Couldn't open ROM"), Dec 06 03:49:50.668 INFO [stderr] | ^^^ help: consider using `_why` instead Dec 06 03:49:50.668 INFO [stderr] | Dec 06 03:49:50.668 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 06 03:49:50.668 INFO [stderr] Dec 06 03:49:50.668 INFO [stderr] warning: unused variable: `b` Dec 06 03:49:50.668 INFO [stderr] --> src/cpu/mod.rs:50:18 Dec 06 03:49:50.668 INFO [stderr] | Dec 06 03:49:50.668 INFO [stderr] 50 | for (i, &b) in rom.iter().enumerate() { Dec 06 03:49:50.668 INFO [stderr] | ^ help: consider using `_b` instead Dec 06 03:49:50.668 INFO [stderr] Dec 06 03:49:50.668 INFO [stderr] warning: unused variable: `result` Dec 06 03:49:50.668 INFO [stderr] --> src/display.rs:57:25 Dec 06 03:49:50.668 INFO [stderr] | Dec 06 03:49:50.668 INFO [stderr] 57 | let result = canvas.fill_rect(Rect::new(x_coord, y_coord, 10, 10)); Dec 06 03:49:50.668 INFO [stderr] | ^^^^^^ help: consider using `_result` instead Dec 06 03:49:50.668 INFO [stderr] Dec 06 03:49:50.668 INFO [stderr] warning: unused variable: `event_keycode` Dec 06 03:49:50.668 INFO [stderr] --> src/keypad.rs:24:13 Dec 06 03:49:50.668 INFO [stderr] | Dec 06 03:49:50.668 INFO [stderr] 24 | let event_keycode: Keycode; Dec 06 03:49:50.668 INFO [stderr] | ^^^^^^^^^^^^^ help: consider using `_event_keycode` instead Dec 06 03:49:50.668 INFO [stderr] Dec 06 03:49:50.682 INFO [stderr] warning: variable does not need to be mutable Dec 06 03:49:50.682 INFO [stderr] --> src/cpu/timers.rs:16:13 Dec 06 03:49:50.682 INFO [stderr] | Dec 06 03:49:50.682 INFO [stderr] 16 | let mut timers = TimerSubsystem { Dec 06 03:49:50.682 INFO [stderr] | ----^^^^^^ Dec 06 03:49:50.682 INFO [stderr] | | Dec 06 03:49:50.682 INFO [stderr] | help: remove this `mut` Dec 06 03:49:50.682 INFO [stderr] | Dec 06 03:49:50.682 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 06 03:49:50.682 INFO [stderr] Dec 06 03:49:50.698 INFO [stderr] warning: method is never used: `get_pixel` Dec 06 03:49:50.698 INFO [stderr] --> src/display.rs:68:5 Dec 06 03:49:50.698 INFO [stderr] | Dec 06 03:49:50.698 INFO [stderr] 68 | pub fn get_pixel(self, x: usize, y: usize) -> (bool) { Dec 06 03:49:50.698 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 06 03:49:50.698 INFO [stderr] | Dec 06 03:49:50.698 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 06 03:49:50.698 INFO [stderr] Dec 06 03:49:50.699 INFO [stderr] warning: method `op_00E0` should have a snake case name such as `op_00_e0` Dec 06 03:49:50.699 INFO [stderr] --> src/cpu/mod.rs:127:5 Dec 06 03:49:50.699 INFO [stderr] | Dec 06 03:49:50.699 INFO [stderr] 127 | / fn op_00E0(&mut self) -> (usize) { Dec 06 03:49:50.699 INFO [stderr] 128 | | self.display.clear(); Dec 06 03:49:50.699 INFO [stderr] 129 | | 2 Dec 06 03:49:50.699 INFO [stderr] 130 | | } Dec 06 03:49:50.699 INFO [stderr] | |_____^ Dec 06 03:49:50.699 INFO [stderr] | Dec 06 03:49:50.699 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 06 03:49:50.699 INFO [stderr] Dec 06 03:49:50.699 INFO [stderr] warning: method `op_00EE` should have a snake case name such as `op_00_ee` Dec 06 03:49:50.699 INFO [stderr] --> src/cpu/mod.rs:133:5 Dec 06 03:49:50.699 INFO [stderr] | Dec 06 03:49:50.699 INFO [stderr] 133 | / fn op_00EE(&mut self) -> (usize) { Dec 06 03:49:50.699 INFO [stderr] 134 | | self.pc = self.stack[self.sp]; Dec 06 03:49:50.699 INFO [stderr] 135 | | self.sp -= 1; Dec 06 03:49:50.699 INFO [stderr] 136 | | 0 Dec 06 03:49:50.700 INFO [stderr] 137 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_8xyE` should have a snake case name such as `op_8xy_e` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:264:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 264 | / fn op_8xyE(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 265 | | self.v[0xF] = if self.v[x] & 1 == 1 {1} else {0}; Dec 06 03:49:50.700 INFO [stderr] 266 | | self.v[x] <<= 1; Dec 06 03:49:50.700 INFO [stderr] 267 | | 2 Dec 06 03:49:50.700 INFO [stderr] 268 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Annn` should have a snake case name such as `op_annn` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:279:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 279 | / fn op_Annn(&mut self, nnn: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 280 | | self.i = nnn; Dec 06 03:49:50.700 INFO [stderr] 281 | | 2 Dec 06 03:49:50.700 INFO [stderr] 282 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Bnnn` should have a snake case name such as `op_bnnn` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:285:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 285 | / fn op_Bnnn(&mut self, nnn: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 286 | | self.pc = nnn + (self.v[0] as usize); Dec 06 03:49:50.700 INFO [stderr] 287 | | 0 Dec 06 03:49:50.700 INFO [stderr] 288 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Cxkk` should have a snake case name such as `op_cxkk` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:291:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 291 | / fn op_Cxkk(&mut self, x: usize, kk: u8) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 292 | | let rn: u8 = rand::random(); Dec 06 03:49:50.700 INFO [stderr] 293 | | self.v[x] = rn & kk; Dec 06 03:49:50.700 INFO [stderr] 294 | | 2 Dec 06 03:49:50.700 INFO [stderr] 295 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Dxyn` should have a snake case name such as `op_dxyn` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:298:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 298 | / fn op_Dxyn(&mut self, x: usize, y: usize, n: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 299 | | let mut sprite = [0; 15]; Dec 06 03:49:50.700 INFO [stderr] 300 | | Dec 06 03:49:50.700 INFO [stderr] 301 | | for j in 0..n { Dec 06 03:49:50.700 INFO [stderr] ... | Dec 06 03:49:50.700 INFO [stderr] 308 | | 2 Dec 06 03:49:50.700 INFO [stderr] 309 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Ex9E` should have a snake case name such as `op_ex9_e` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:312:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 312 | / fn op_Ex9E (&mut self, x: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 313 | | if self.keypad.get_key(self.v[x] as usize) { return 4 } Dec 06 03:49:50.700 INFO [stderr] 314 | | 2 Dec 06 03:49:50.700 INFO [stderr] 315 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_ExA1` should have a snake case name such as `op_ex_a1` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:318:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 318 | / fn op_ExA1(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 319 | | if self.keypad.get_key(self.v[x] as usize) { return 2 } Dec 06 03:49:50.700 INFO [stderr] 320 | | 4 Dec 06 03:49:50.700 INFO [stderr] 321 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Fx07` should have a snake case name such as `op_fx07` Dec 06 03:49:50.700 INFO [stderr] --> src/cpu/mod.rs:324:5 Dec 06 03:49:50.700 INFO [stderr] | Dec 06 03:49:50.700 INFO [stderr] 324 | / fn op_Fx07(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.700 INFO [stderr] 325 | | self.v[x] = self.timer_subsystem.delay; Dec 06 03:49:50.700 INFO [stderr] 326 | | 2 Dec 06 03:49:50.700 INFO [stderr] 327 | | } Dec 06 03:49:50.700 INFO [stderr] | |_____^ Dec 06 03:49:50.700 INFO [stderr] Dec 06 03:49:50.700 INFO [stderr] warning: method `op_Fx0A` should have a snake case name such as `op_fx0_a` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:330:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 330 | / fn op_Fx0A(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 331 | | let keypress = self.keypad.wait_for_keypress(); Dec 06 03:49:50.701 INFO [stderr] 332 | | if keypress == 0x10 { Dec 06 03:49:50.701 INFO [stderr] 333 | | // keep pc where it is and keep executing this same instruction Dec 06 03:49:50.701 INFO [stderr] ... | Dec 06 03:49:50.701 INFO [stderr] 340 | | 2 Dec 06 03:49:50.701 INFO [stderr] 341 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx15` should have a snake case name such as `op_fx15` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:344:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 344 | / fn op_Fx15(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 345 | | self.timer_subsystem.delay = self.v[x]; Dec 06 03:49:50.701 INFO [stderr] 346 | | 2 Dec 06 03:49:50.701 INFO [stderr] 347 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx18` should have a snake case name such as `op_fx18` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:350:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 350 | / fn op_Fx18(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 351 | | self.timer_subsystem.sound = self.v[x]; Dec 06 03:49:50.701 INFO [stderr] 352 | | 2 Dec 06 03:49:50.701 INFO [stderr] 353 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx1E` should have a snake case name such as `op_fx1_e` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:356:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 356 | / fn op_Fx1E(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 357 | | self.i = self.v[x] as usize + self.i; Dec 06 03:49:50.701 INFO [stderr] 358 | | 2 Dec 06 03:49:50.701 INFO [stderr] 359 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx29` should have a snake case name such as `op_fx29` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:362:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 362 | / fn op_Fx29(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 363 | | self.i = (self.v[x] * 5) as usize; Dec 06 03:49:50.701 INFO [stderr] 364 | | 2 Dec 06 03:49:50.701 INFO [stderr] 365 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx33` should have a snake case name such as `op_fx33` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:368:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 368 | / fn op_Fx33(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 369 | | self.ram[self.i] = self.v[x] / 100; Dec 06 03:49:50.701 INFO [stderr] 370 | | self.ram[self.i + 1] = (self.v[x] % 100) / 10; Dec 06 03:49:50.701 INFO [stderr] 371 | | self.ram[self.i + 2] = self.v[x] % 10; Dec 06 03:49:50.701 INFO [stderr] 372 | | 2 Dec 06 03:49:50.701 INFO [stderr] 373 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx55` should have a snake case name such as `op_fx55` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:376:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 376 | / fn op_Fx55(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 377 | | // prevent out of bounds Dec 06 03:49:50.701 INFO [stderr] 378 | | let end = if (x > 0xf) {0xf} else {x}; Dec 06 03:49:50.701 INFO [stderr] 379 | | Dec 06 03:49:50.701 INFO [stderr] ... | Dec 06 03:49:50.701 INFO [stderr] 383 | | 2 Dec 06 03:49:50.701 INFO [stderr] 384 | | } Dec 06 03:49:50.701 INFO [stderr] | |_____^ Dec 06 03:49:50.701 INFO [stderr] Dec 06 03:49:50.701 INFO [stderr] warning: method `op_Fx65` should have a snake case name such as `op_fx65` Dec 06 03:49:50.701 INFO [stderr] --> src/cpu/mod.rs:387:5 Dec 06 03:49:50.701 INFO [stderr] | Dec 06 03:49:50.701 INFO [stderr] 387 | / fn op_Fx65(&mut self, x: usize) -> (usize) { Dec 06 03:49:50.701 INFO [stderr] 388 | | // prevent out of bounds Dec 06 03:49:50.701 INFO [stderr] 389 | | let end = if (x > 0xf) {0xf} else {x}; Dec 06 03:49:50.701 INFO [stderr] 390 | | Dec 06 03:49:50.701 INFO [stderr] ... | Dec 06 03:49:50.701 INFO [stderr] 394 | | 2 Dec 06 03:49:50.702 INFO [stderr] 395 | | } Dec 06 03:49:50.702 INFO [stderr] | |_____^ Dec 06 03:49:50.702 INFO [stderr] Dec 06 03:49:50.702 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 06 03:49:50.702 INFO [stderr] --> src/rom.rs:13:5 Dec 06 03:49:50.702 INFO [stderr] | Dec 06 03:49:50.702 INFO [stderr] 13 | file.read(buf); Dec 06 03:49:50.702 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 06 03:49:50.702 INFO [stderr] | Dec 06 03:49:50.702 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 06 03:49:50.702 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 06 03:49:50.702 INFO [stderr] Dec 06 03:49:51.041 INFO [stderr] error: linking with `cc` failed: exit code: 1 Dec 06 03:49:51.041 INFO [stderr] | Dec 06 03:49:51.041 INFO [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.0.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.1.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.10.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.11.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.12.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.13.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.14.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.15.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.2.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.3.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.4.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.5.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.6.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.7.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.8.rcgu.o" "/target/debug/deps/chip8-1a9e154dcdf572cc.chip8.do3cz7ot-cgu.9.rcgu.o" "-o" "/target/debug/deps/chip8-1a9e154dcdf572cc" "/target/debug/deps/chip8-1a9e154dcdf572cc.4uagrttu9n9nxuq1.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/target/debug/deps" "-L" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/target/debug/deps/libsdl2-a32ec53668df688b.rlib" "/target/debug/deps/librand-2fc791f3b4d6469b.rlib" "/target/debug/deps/librand-3ef678ad8a3306e5.rlib" "/target/debug/deps/libsdl2_sys-08ddb6fcf86b8bfa.rlib" "/target/debug/deps/libbitflags-a51de0fd958ef0b9.rlib" "/target/debug/deps/liblazy_static-39d059c99fb3fffc.rlib" "/target/debug/deps/libnum-b567163f405ae920.rlib" "/target/debug/deps/libnum_iter-dcb0c2944953ff5b.rlib" "/target/debug/deps/libnum_integer-186a6473da6267ec.rlib" "/target/debug/deps/libnum_traits-6515aaef751e5e2c.rlib" "/target/debug/deps/librand-04a055a7ff29772b.rlib" "/target/debug/deps/liblibc-0f152224966fad43.rlib" "/target/debug/deps/librand_core-a3f7ac457c4e7bcb.rlib" "/target/debug/deps/librand_core-7bfb5635f4e4c3c4.rlib" "-Wl,--start-group" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-1783ee7db416cd31.rlib" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-d52c5951c3cd2e1d.rlib" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-9a81b01b5e0e175b.rlib" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-f1a5585a81eb855e.rlib" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-0a7b7470c80cad43.rlib" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-d6e924fd18f7775d.rlib" "-Wl,--end-group" "/rustup-home/toolchains/6eb0fd3ac58f9b16bddb9924a17c3b6c156aa468-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-0ed18ce3338a020a.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" Dec 06 03:49:51.041 INFO [stderr] = note: /usr/bin/ld: cannot find -lSDL2 Dec 06 03:49:51.041 INFO [stderr] collect2: error: ld returned 1 exit status Dec 06 03:49:51.041 INFO [stderr] Dec 06 03:49:51.041 INFO [stderr] Dec 06 03:49:51.041 INFO [stderr] error: aborting due to previous error Dec 06 03:49:51.041 INFO [stderr] Dec 06 03:49:51.051 INFO [stderr] error: Could not compile `chip8`. Dec 06 03:49:51.051 INFO [stderr] Dec 06 03:49:51.051 INFO [stderr] To learn more, run the command again with --verbose. Dec 06 03:49:51.052 INFO [stderr] su: No module specific data is present Dec 06 03:49:51.322 INFO running `"docker" "inspect" "8c10b9a9227aee44edb46252b8653c1916b0ddfba77d17a7eba70eb48dc3a8fa"` Dec 06 03:49:51.395 INFO running `"docker" "rm" "-f" "8c10b9a9227aee44edb46252b8653c1916b0ddfba77d17a7eba70eb48dc3a8fa"` Dec 06 03:49:51.476 INFO [stdout] 8c10b9a9227aee44edb46252b8653c1916b0ddfba77d17a7eba70eb48dc3a8fa