UltraMachine / rust-sc2

SC2 API for Rust
MIT License
38 stars 17 forks source link

Pretty confused on setup and errors #52

Closed whompyjaw closed 2 years ago

whompyjaw commented 2 years ago

Using Arch Linux with headless SC2 (I do have Wine/Lutris for playing) started new project with: cargo new project Cargo.toml

[dependencies]
rust-sc2 = { git = "https://github.com/UltraMachine/rust-sc2" }

cargo run with full verbosity

    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
     Running `target/debug/raith`
thread 'main' panicked at 'Can't find maps folder in: ~/StarCraftII', /home/wj/.cargo/git/checkouts/rust-sc2-459d62a539f28979/5bcde2d/src/paths.rs:56:17
stack backtrace:
   0:     0x558bb6026b6d - std::backtrace_rs::backtrace::libunwind::trace::h8e036432725b1c57
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x558bb6026b6d - std::backtrace_rs::backtrace::trace_unsynchronized::h4f83092254c85869
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x558bb6026b6d - std::sys_common::backtrace::_print_fmt::h9728b5e056a3ece3
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x558bb6026b6d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h48bb4bd2928827d2
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x558bb604982c - core::fmt::write::h909e69a2c24f44cc
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/fmt/mod.rs:1196:17
   5:     0x558bb6022691 - std::io::Write::write_fmt::h7f4b8ab8af89e9ef
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/io/mod.rs:1654:15
   6:     0x558bb6028275 - std::sys_common::backtrace::_print::hff4838ebf14a2171
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x558bb6028275 - std::sys_common::backtrace::print::h2499280374189ad9
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x558bb6028275 - std::panicking::default_hook::{{closure}}::h8b270fc55eeb284e
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:295:22
   9:     0x558bb6027ee9 - std::panicking::default_hook::h3217e229d6e9d13c
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:314:9
  10:     0x558bb6028848 - std::panicking::rust_panic_with_hook::h9acb8048b738d2e0
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:698:17
  11:     0x558bb60286f7 - std::panicking::begin_panic_handler::{{closure}}::h70f3b839526af6dc
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:588:13
  12:     0x558bb6027024 - std::sys_common::backtrace::__rust_end_short_backtrace::h1ecf2cee857fbe0a
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:138:18
  13:     0x558bb6028429 - rust_begin_unwind
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:584:5
  14:     0x558bb576ed33 - core::panicking::panic_fmt::h9f8393e7fd56d655
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/panicking.rs:142:14
  15:     0x558bb585cc6a - rust_sc2::paths::get_map_path::h9de852fcbb39ed17
                               at /home/wj/.cargo/git/checkouts/rust-sc2-459d62a539f28979/5bcde2d/src/paths.rs:56:5
  16:     0x558bb577075e - rust_sc2::client::RunnerSingle<B>::new::hdf81fd1867c2cc21
                               at /home/wj/.cargo/git/checkouts/rust-sc2-459d62a539f28979/5bcde2d/src/client.rs:109:18
  17:     0x558bb577032a - rust_sc2::client::run_vs_computer::ha266324bc8269321
                               at /home/wj/.cargo/git/checkouts/rust-sc2-459d62a539f28979/5bcde2d/src/client.rs:411:19
  18:     0x558bb577d79e - raith::main::h3382177a4c641df0
                               at /home/wj/files/projects/raith/src/main.rs:20:5
  19:     0x558bb5775d8b - core::ops::function::FnOnce::call_once::h01542edf3589472f
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:248:5
  20:     0x558bb577466e - std::sys_common::backtrace::__rust_begin_short_backtrace::h7c3e42b5e61b5824
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/sys_common/backtrace.rs:122:18
  21:     0x558bb5774121 - std::rt::lang_start::{{closure}}::h80c21ea6dca0dd53
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/rt.rs:145:18
  22:     0x558bb601f3ce - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h5f1ba3b861cac230
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/core/src/ops/function.rs:280:13
  23:     0x558bb601f3ce - std::panicking::try::do_call::h4febfdb770eca39d
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:492:40
  24:     0x558bb601f3ce - std::panicking::try::h8b0eac8a7d726dbf
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:456:19
  25:     0x558bb601f3ce - std::panic::catch_unwind::h11b83c489c0d8394
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panic.rs:137:14
  26:     0x558bb601f3ce - std::rt::lang_start_internal::{{closure}}::h63502d2988634103
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/rt.rs:128:48
  27:     0x558bb601f3ce - std::panicking::try::do_call::h4be475cff12d2aae
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:492:40
  28:     0x558bb601f3ce - std::panicking::try::h1a3b25b8eaf9ba31
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panicking.rs:456:19
  29:     0x558bb601f3ce - std::panic::catch_unwind::h224588ada67b9b0b
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/panic.rs:137:14
  30:     0x558bb601f3ce - std::rt::lang_start_internal::h2807b375c1959759
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/rt.rs:128:20
  31:     0x558bb57740f0 - std::rt::lang_start::h48e0f062a173824f
                               at /rustc/e092d0b6b43f2de967af0887873151bb1c0b18d3/library/std/src/rt.rs:144:17
  32:     0x558bb577d85c - main
  33:     0x7fa3b9a87290 - <unknown>
  34:     0x7fa3b9a8734a - __libc_start_main
  35:     0x558bb576f025 - _start
                               at /build/glibc/src/glibc/csu/../sysdeps/x86_64/start.S:115
  36:                0x0 - <unknown>
ls ~/StarCraftII/
Battle.net  Interfaces  Libs  Maps  Replays  SC2Data  Versions
ls ~/StarCraftII/Maps/
Ladder2017Season1  Ladder2017Season2  Ladder2017Season3  Ladder2017Season4  Ladder2018Season1  Ladder2018Season2  Ladder2018Season3  Ladder2018Season4  Ladder2019Season1  Melee  mini_games
ls ~/StarCraftII/Maps/Ladder2019Season1/
AutomatonLE.SC2Map  CyberForestLE.SC2Map  KairosJunctionLE.SC2Map  KingsCoveLE.SC2Map  NewRepugnancyLE.SC2Map  PortAleksanderLE.SC2Map  YearZeroLE.SC2Map

You can see I have Maps.

This is my first time using rust, so I could be messing something up, but pretty sure I got it setup correctly (followed archwiki, installed rustup, then installed stable rust, clippy, etc)

I was able to run an example from burnysc2 library. The bug in that code was changing ~/StarCraftII/Maps to maps, but trying that with rust, didn't work.

What am I missing here?

whompyjaw commented 2 years ago

Figured out issue with this help: https://discord.com/channels/350289306763657218/1003129378588348427/1003132689949397002

Evidently, rust doesn't expand ~ in paths. Or maybe whatever solution you have doesn't work. Once I set my SC2PATH to /home/user/StarCraftII it got past that error.

I feel like this is a bug, though no? I would make a PR, but I don't know anything about Rust atm... So... I can just report my findings. :/

whompyjaw commented 2 years ago

I made a PR to help with avoiding these bugs that are not noted in the repo. #53

UltraMachine commented 2 years ago

made a small fix d8c51d0 should be working now