Dec 13 23:40:25.457 INFO testing christopherjmedlin/yalc8emu against master#bd47d6825bf4090517549d33cfef10d3300b4a75 for pr-56550 Dec 13 23:40:25.457 INFO running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-56550/worker-7/master#bd47d6825bf4090517549d33cfef10d3300b4a75:/target:rw,Z" "-v" "/mnt/big/crater/work/local/test-source/worker-7/pr-56550/master#bd47d6825bf4090517549d33cfef10d3300b4a75:/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 +bd47d6825bf4090517549d33cfef10d3300b4a75-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 13 23:40:25.971 INFO [stdout] e920fe3a19eeaa3c1a78c96e2bf564788e45213c016abe1727636bbed1cb6add Dec 13 23:40:25.979 INFO running `"docker" "start" "-a" "e920fe3a19eeaa3c1a78c96e2bf564788e45213c016abe1727636bbed1cb6add"` Dec 13 23:40:27.038 INFO [stderr] usermod: no changes Dec 13 23:40:27.140 INFO [stderr] Compiling sdl2-sys v0.31.0 Dec 13 23:40:29.951 INFO [stderr] Compiling sdl2 v0.31.0 Dec 13 23:40:34.429 INFO [stderr] Compiling chip8 v0.1.0 (/source) Dec 13 23:40:35.123 INFO [stderr] warning: unused import: `Duration` Dec 13 23:40:35.123 INFO [stderr] --> src/cpu/timers.rs:1:26 Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] 1 | use std::time::{Instant, Duration}; Dec 13 23:40:35.123 INFO [stderr] | ^^^^^^^^ Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] = note: #[warn(unused_imports)] on by default Dec 13 23:40:35.123 INFO [stderr] Dec 13 23:40:35.123 INFO [stderr] warning: unused import: `std::num::Wrapping` Dec 13 23:40:35.123 INFO [stderr] --> src/cpu/mod.rs:6:5 Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] 6 | use std::num::Wrapping; Dec 13 23:40:35.123 INFO [stderr] | ^^^^^^^^^^^^^^^^^^ Dec 13 23:40:35.123 INFO [stderr] Dec 13 23:40:35.123 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 13 23:40:35.123 INFO [stderr] --> src/cpu/mod.rs:378:22 Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] 378 | let end = if (x > 0xf) {0xf} else {x}; Dec 13 23:40:35.123 INFO [stderr] | ^^^^^^^^^ help: remove these parentheses Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] = note: #[warn(unused_parens)] on by default Dec 13 23:40:35.123 INFO [stderr] Dec 13 23:40:35.123 INFO [stderr] warning: unnecessary parentheses around `if` condition Dec 13 23:40:35.123 INFO [stderr] --> src/cpu/mod.rs:389:22 Dec 13 23:40:35.123 INFO [stderr] | Dec 13 23:40:35.123 INFO [stderr] 389 | let end = if (x > 0xf) {0xf} else {x}; Dec 13 23:40:35.123 INFO [stderr] | ^^^^^^^^^ help: remove these parentheses Dec 13 23:40:35.123 INFO [stderr] Dec 13 23:40:35.271 INFO [stderr] warning: unused variable: `why` Dec 13 23:40:35.271 INFO [stderr] --> src/rom.rs:9:13 Dec 13 23:40:35.271 INFO [stderr] | Dec 13 23:40:35.271 INFO [stderr] 9 | Err(why) => panic!("Couldn't open ROM"), Dec 13 23:40:35.271 INFO [stderr] | ^^^ help: consider using `_why` instead Dec 13 23:40:35.271 INFO [stderr] | Dec 13 23:40:35.271 INFO [stderr] = note: #[warn(unused_variables)] on by default Dec 13 23:40:35.271 INFO [stderr] Dec 13 23:40:35.271 INFO [stderr] warning: unused variable: `b` Dec 13 23:40:35.271 INFO [stderr] --> src/cpu/mod.rs:50:18 Dec 13 23:40:35.271 INFO [stderr] | Dec 13 23:40:35.271 INFO [stderr] 50 | for (i, &b) in rom.iter().enumerate() { Dec 13 23:40:35.271 INFO [stderr] | ^ help: consider using `_b` instead Dec 13 23:40:35.271 INFO [stderr] Dec 13 23:40:35.271 INFO [stderr] warning: unused variable: `result` Dec 13 23:40:35.271 INFO [stderr] --> src/display.rs:57:25 Dec 13 23:40:35.271 INFO [stderr] | Dec 13 23:40:35.271 INFO [stderr] 57 | let result = canvas.fill_rect(Rect::new(x_coord, y_coord, 10, 10)); Dec 13 23:40:35.271 INFO [stderr] | ^^^^^^ help: consider using `_result` instead Dec 13 23:40:35.271 INFO [stderr] Dec 13 23:40:35.271 INFO [stderr] warning: unused variable: `event_keycode` Dec 13 23:40:35.271 INFO [stderr] --> src/keypad.rs:24:13 Dec 13 23:40:35.271 INFO [stderr] | Dec 13 23:40:35.271 INFO [stderr] 24 | let event_keycode: Keycode; Dec 13 23:40:35.271 INFO [stderr] | ^^^^^^^^^^^^^ help: consider using `_event_keycode` instead Dec 13 23:40:35.271 INFO [stderr] Dec 13 23:40:35.294 INFO [stderr] warning: variable does not need to be mutable Dec 13 23:40:35.294 INFO [stderr] --> src/cpu/timers.rs:16:13 Dec 13 23:40:35.294 INFO [stderr] | Dec 13 23:40:35.294 INFO [stderr] 16 | let mut timers = TimerSubsystem { Dec 13 23:40:35.294 INFO [stderr] | ----^^^^^^ Dec 13 23:40:35.295 INFO [stderr] | | Dec 13 23:40:35.295 INFO [stderr] | help: remove this `mut` Dec 13 23:40:35.295 INFO [stderr] | Dec 13 23:40:35.295 INFO [stderr] = note: #[warn(unused_mut)] on by default Dec 13 23:40:35.295 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method is never used: `get_pixel` Dec 13 23:40:35.315 INFO [stderr] --> src/display.rs:68:5 Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] 68 | pub fn get_pixel(self, x: usize, y: usize) -> (bool) { Dec 13 23:40:35.315 INFO [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] = note: #[warn(dead_code)] on by default Dec 13 23:40:35.315 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method `op_00E0` should have a snake case name such as `op_00_e0` Dec 13 23:40:35.315 INFO [stderr] --> src/cpu/mod.rs:127:5 Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] 127 | / fn op_00E0(&mut self) -> (usize) { Dec 13 23:40:35.315 INFO [stderr] 128 | | self.display.clear(); Dec 13 23:40:35.315 INFO [stderr] 129 | | 2 Dec 13 23:40:35.315 INFO [stderr] 130 | | } Dec 13 23:40:35.315 INFO [stderr] | |_____^ Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] = note: #[warn(non_snake_case)] on by default Dec 13 23:40:35.315 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method `op_00EE` should have a snake case name such as `op_00_ee` Dec 13 23:40:35.315 INFO [stderr] --> src/cpu/mod.rs:133:5 Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] 133 | / fn op_00EE(&mut self) -> (usize) { Dec 13 23:40:35.315 INFO [stderr] 134 | | self.pc = self.stack[self.sp]; Dec 13 23:40:35.315 INFO [stderr] 135 | | self.sp -= 1; Dec 13 23:40:35.315 INFO [stderr] 136 | | 0 Dec 13 23:40:35.315 INFO [stderr] 137 | | } Dec 13 23:40:35.315 INFO [stderr] | |_____^ Dec 13 23:40:35.315 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method `op_8xyE` should have a snake case name such as `op_8xy_e` Dec 13 23:40:35.315 INFO [stderr] --> src/cpu/mod.rs:264:5 Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] 264 | / fn op_8xyE(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.315 INFO [stderr] 265 | | self.v[0xF] = if self.v[x] & 1 == 1 {1} else {0}; Dec 13 23:40:35.315 INFO [stderr] 266 | | self.v[x] <<= 1; Dec 13 23:40:35.315 INFO [stderr] 267 | | 2 Dec 13 23:40:35.315 INFO [stderr] 268 | | } Dec 13 23:40:35.315 INFO [stderr] | |_____^ Dec 13 23:40:35.315 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method `op_Annn` should have a snake case name such as `op_annn` Dec 13 23:40:35.315 INFO [stderr] --> src/cpu/mod.rs:279:5 Dec 13 23:40:35.315 INFO [stderr] | Dec 13 23:40:35.315 INFO [stderr] 279 | / fn op_Annn(&mut self, nnn: usize) -> (usize) { Dec 13 23:40:35.315 INFO [stderr] 280 | | self.i = nnn; Dec 13 23:40:35.315 INFO [stderr] 281 | | 2 Dec 13 23:40:35.315 INFO [stderr] 282 | | } Dec 13 23:40:35.315 INFO [stderr] | |_____^ Dec 13 23:40:35.315 INFO [stderr] Dec 13 23:40:35.315 INFO [stderr] warning: method `op_Bnnn` should have a snake case name such as `op_bnnn` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:285:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 285 | / fn op_Bnnn(&mut self, nnn: usize) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 286 | | self.pc = nnn + (self.v[0] as usize); Dec 13 23:40:35.316 INFO [stderr] 287 | | 0 Dec 13 23:40:35.316 INFO [stderr] 288 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.316 INFO [stderr] warning: method `op_Cxkk` should have a snake case name such as `op_cxkk` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:291:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 291 | / fn op_Cxkk(&mut self, x: usize, kk: u8) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 292 | | let rn: u8 = rand::random(); Dec 13 23:40:35.316 INFO [stderr] 293 | | self.v[x] = rn & kk; Dec 13 23:40:35.316 INFO [stderr] 294 | | 2 Dec 13 23:40:35.316 INFO [stderr] 295 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.316 INFO [stderr] warning: method `op_Dxyn` should have a snake case name such as `op_dxyn` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:298:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 298 | / fn op_Dxyn(&mut self, x: usize, y: usize, n: usize) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 299 | | let mut sprite = [0; 15]; Dec 13 23:40:35.316 INFO [stderr] 300 | | Dec 13 23:40:35.316 INFO [stderr] 301 | | for j in 0..n { Dec 13 23:40:35.316 INFO [stderr] ... | Dec 13 23:40:35.316 INFO [stderr] 308 | | 2 Dec 13 23:40:35.316 INFO [stderr] 309 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.316 INFO [stderr] warning: method `op_Ex9E` should have a snake case name such as `op_ex9_e` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:312:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 312 | / fn op_Ex9E (&mut self, x: usize) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 313 | | if self.keypad.get_key(self.v[x] as usize) { return 4 } Dec 13 23:40:35.316 INFO [stderr] 314 | | 2 Dec 13 23:40:35.316 INFO [stderr] 315 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.316 INFO [stderr] warning: method `op_ExA1` should have a snake case name such as `op_ex_a1` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:318:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 318 | / fn op_ExA1(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 319 | | if self.keypad.get_key(self.v[x] as usize) { return 2 } Dec 13 23:40:35.316 INFO [stderr] 320 | | 4 Dec 13 23:40:35.316 INFO [stderr] 321 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.316 INFO [stderr] warning: method `op_Fx07` should have a snake case name such as `op_fx07` Dec 13 23:40:35.316 INFO [stderr] --> src/cpu/mod.rs:324:5 Dec 13 23:40:35.316 INFO [stderr] | Dec 13 23:40:35.316 INFO [stderr] 324 | / fn op_Fx07(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.316 INFO [stderr] 325 | | self.v[x] = self.timer_subsystem.delay; Dec 13 23:40:35.316 INFO [stderr] 326 | | 2 Dec 13 23:40:35.316 INFO [stderr] 327 | | } Dec 13 23:40:35.316 INFO [stderr] | |_____^ Dec 13 23:40:35.316 INFO [stderr] Dec 13 23:40:35.323 INFO [stderr] warning: method `op_Fx0A` should have a snake case name such as `op_fx0_a` Dec 13 23:40:35.323 INFO [stderr] --> src/cpu/mod.rs:330:5 Dec 13 23:40:35.323 INFO [stderr] | Dec 13 23:40:35.323 INFO [stderr] 330 | / fn op_Fx0A(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.323 INFO [stderr] 331 | | let keypress = self.keypad.wait_for_keypress(); Dec 13 23:40:35.323 INFO [stderr] 332 | | if keypress == 0x10 { Dec 13 23:40:35.323 INFO [stderr] 333 | | // keep pc where it is and keep executing this same instruction Dec 13 23:40:35.323 INFO [stderr] ... | Dec 13 23:40:35.323 INFO [stderr] 340 | | 2 Dec 13 23:40:35.323 INFO [stderr] 341 | | } Dec 13 23:40:35.323 INFO [stderr] | |_____^ Dec 13 23:40:35.323 INFO [stderr] Dec 13 23:40:35.323 INFO [stderr] warning: method `op_Fx15` should have a snake case name such as `op_fx15` Dec 13 23:40:35.323 INFO [stderr] --> src/cpu/mod.rs:344:5 Dec 13 23:40:35.323 INFO [stderr] | Dec 13 23:40:35.323 INFO [stderr] 344 | / fn op_Fx15(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.323 INFO [stderr] 345 | | self.timer_subsystem.delay = self.v[x]; Dec 13 23:40:35.323 INFO [stderr] 346 | | 2 Dec 13 23:40:35.323 INFO [stderr] 347 | | } Dec 13 23:40:35.323 INFO [stderr] | |_____^ Dec 13 23:40:35.323 INFO [stderr] Dec 13 23:40:35.323 INFO [stderr] warning: method `op_Fx18` should have a snake case name such as `op_fx18` Dec 13 23:40:35.323 INFO [stderr] --> src/cpu/mod.rs:350:5 Dec 13 23:40:35.323 INFO [stderr] | Dec 13 23:40:35.323 INFO [stderr] 350 | / fn op_Fx18(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.323 INFO [stderr] 351 | | self.timer_subsystem.sound = self.v[x]; Dec 13 23:40:35.323 INFO [stderr] 352 | | 2 Dec 13 23:40:35.323 INFO [stderr] 353 | | } Dec 13 23:40:35.323 INFO [stderr] | |_____^ Dec 13 23:40:35.323 INFO [stderr] Dec 13 23:40:35.323 INFO [stderr] warning: method `op_Fx1E` should have a snake case name such as `op_fx1_e` Dec 13 23:40:35.323 INFO [stderr] --> src/cpu/mod.rs:356:5 Dec 13 23:40:35.323 INFO [stderr] | Dec 13 23:40:35.323 INFO [stderr] 356 | / fn op_Fx1E(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.323 INFO [stderr] 357 | | self.i = self.v[x] as usize + self.i; Dec 13 23:40:35.323 INFO [stderr] 358 | | 2 Dec 13 23:40:35.323 INFO [stderr] 359 | | } Dec 13 23:40:35.323 INFO [stderr] | |_____^ Dec 13 23:40:35.323 INFO [stderr] Dec 13 23:40:35.324 INFO [stderr] warning: method `op_Fx29` should have a snake case name such as `op_fx29` Dec 13 23:40:35.324 INFO [stderr] --> src/cpu/mod.rs:362:5 Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] 362 | / fn op_Fx29(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.324 INFO [stderr] 363 | | self.i = (self.v[x] * 5) as usize; Dec 13 23:40:35.324 INFO [stderr] 364 | | 2 Dec 13 23:40:35.324 INFO [stderr] 365 | | } Dec 13 23:40:35.324 INFO [stderr] | |_____^ Dec 13 23:40:35.324 INFO [stderr] Dec 13 23:40:35.324 INFO [stderr] warning: method `op_Fx33` should have a snake case name such as `op_fx33` Dec 13 23:40:35.324 INFO [stderr] --> src/cpu/mod.rs:368:5 Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] 368 | / fn op_Fx33(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.324 INFO [stderr] 369 | | self.ram[self.i] = self.v[x] / 100; Dec 13 23:40:35.324 INFO [stderr] 370 | | self.ram[self.i + 1] = (self.v[x] % 100) / 10; Dec 13 23:40:35.324 INFO [stderr] 371 | | self.ram[self.i + 2] = self.v[x] % 10; Dec 13 23:40:35.324 INFO [stderr] 372 | | 2 Dec 13 23:40:35.324 INFO [stderr] 373 | | } Dec 13 23:40:35.324 INFO [stderr] | |_____^ Dec 13 23:40:35.324 INFO [stderr] Dec 13 23:40:35.324 INFO [stderr] warning: method `op_Fx55` should have a snake case name such as `op_fx55` Dec 13 23:40:35.324 INFO [stderr] --> src/cpu/mod.rs:376:5 Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] 376 | / fn op_Fx55(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.324 INFO [stderr] 377 | | // prevent out of bounds Dec 13 23:40:35.324 INFO [stderr] 378 | | let end = if (x > 0xf) {0xf} else {x}; Dec 13 23:40:35.324 INFO [stderr] 379 | | Dec 13 23:40:35.324 INFO [stderr] ... | Dec 13 23:40:35.324 INFO [stderr] 383 | | 2 Dec 13 23:40:35.324 INFO [stderr] 384 | | } Dec 13 23:40:35.324 INFO [stderr] | |_____^ Dec 13 23:40:35.324 INFO [stderr] Dec 13 23:40:35.324 INFO [stderr] warning: method `op_Fx65` should have a snake case name such as `op_fx65` Dec 13 23:40:35.324 INFO [stderr] --> src/cpu/mod.rs:387:5 Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] 387 | / fn op_Fx65(&mut self, x: usize) -> (usize) { Dec 13 23:40:35.324 INFO [stderr] 388 | | // prevent out of bounds Dec 13 23:40:35.324 INFO [stderr] 389 | | let end = if (x > 0xf) {0xf} else {x}; Dec 13 23:40:35.324 INFO [stderr] 390 | | Dec 13 23:40:35.324 INFO [stderr] ... | Dec 13 23:40:35.324 INFO [stderr] 394 | | 2 Dec 13 23:40:35.324 INFO [stderr] 395 | | } Dec 13 23:40:35.324 INFO [stderr] | |_____^ Dec 13 23:40:35.324 INFO [stderr] Dec 13 23:40:35.324 INFO [stderr] warning: unused `std::result::Result` that must be used Dec 13 23:40:35.324 INFO [stderr] --> src/rom.rs:13:5 Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] 13 | file.read(buf); Dec 13 23:40:35.324 INFO [stderr] | ^^^^^^^^^^^^^^^ Dec 13 23:40:35.324 INFO [stderr] | Dec 13 23:40:35.324 INFO [stderr] = note: #[warn(unused_must_use)] on by default Dec 13 23:40:35.324 INFO [stderr] = note: this `Result` may be an `Err` variant, which should be handled Dec 13 23:40:35.324 INFO [stderr] Dec 13 23:40:35.615 INFO [stderr] error: linking with `cc` failed: exit code: 1 Dec 13 23:40:35.615 INFO [stderr] | Dec 13 23:40:35.615 INFO [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.0.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.1.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.10.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.11.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.12.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.13.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.14.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.15.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.2.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.3.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.4.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.5.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.6.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.7.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.8.rcgu.o" "/target/debug/deps/chip8-df3e004185e60db5.chip8.1yo2yhpz-cgu.9.rcgu.o" "-o" "/target/debug/deps/chip8-df3e004185e60db5" "/target/debug/deps/chip8-df3e004185e60db5.14fwbrugqim96gsg.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/target/debug/deps" "-L" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/target/debug/deps/libsdl2-dc17b1303ffd920a.rlib" "/target/debug/deps/librand-9b1163a1dc8d5bff.rlib" "/target/debug/deps/librand-e7f970e772e1305b.rlib" "/target/debug/deps/libsdl2_sys-c5ace73d8da729a4.rlib" "/target/debug/deps/libbitflags-9d8debeed3c9e140.rlib" "/target/debug/deps/liblazy_static-5619064aaee6d231.rlib" "/target/debug/deps/libnum-8661c2dfc9217b2d.rlib" "/target/debug/deps/libnum_iter-70a021a4bcdd5f7d.rlib" "/target/debug/deps/libnum_integer-b32b4aacf87d21f6.rlib" "/target/debug/deps/libnum_traits-941ad5bd88612ed7.rlib" "/target/debug/deps/librand-a2ba348fa83cc1a6.rlib" "/target/debug/deps/liblibc-95875c64b5f85b2b.rlib" "/target/debug/deps/librand_core-2ed12a4bec82d10f.rlib" "/target/debug/deps/librand_core-4d80a72ffaf9eb1a.rlib" "-Wl,--start-group" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-748af87fcc6c3a49.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-0d0fc9a4e3a019fc.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-0aeb98e3ac6cf6d2.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-1c913d008c608484.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ddc5c7b39633b7b3.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-02cab32753740b78.rlib" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-abcd26adb0919b33.rlib" "-Wl,--end-group" "/rustup-home/toolchains/bd47d6825bf4090517549d33cfef10d3300b4a75-alt/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-e4966369233fd0ee.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" Dec 13 23:40:35.615 INFO [stderr] = note: /usr/bin/ld: cannot find -lSDL2 Dec 13 23:40:35.615 INFO [stderr] collect2: error: ld returned 1 exit status Dec 13 23:40:35.615 INFO [stderr] Dec 13 23:40:35.615 INFO [stderr] Dec 13 23:40:35.615 INFO [stderr] error: aborting due to previous error Dec 13 23:40:35.615 INFO [stderr] Dec 13 23:40:35.626 INFO [stderr] error: Could not compile `chip8`. Dec 13 23:40:35.626 INFO [stderr] Dec 13 23:40:35.626 INFO [stderr] To learn more, run the command again with --verbose. Dec 13 23:40:35.627 INFO [stderr] su: No module specific data is present Dec 13 23:40:35.877 INFO running `"docker" "inspect" "e920fe3a19eeaa3c1a78c96e2bf564788e45213c016abe1727636bbed1cb6add"` Dec 13 23:40:35.952 INFO running `"docker" "rm" "-f" "e920fe3a19eeaa3c1a78c96e2bf564788e45213c016abe1727636bbed1cb6add"` Dec 13 23:40:36.047 INFO [stdout] e920fe3a19eeaa3c1a78c96e2bf564788e45213c016abe1727636bbed1cb6add