pvolok / mprocs

Run multiple commands in parallel
MIT License
1.47k stars 47 forks source link

Compile error on Windows #133

Closed clin1234 closed 3 months ago

clin1234 commented 3 months ago

Running cargo install --locked --all-features --git https://github.com/pvolok/mprocs mprocs outputted this:

    Updating git repository `https://github.com/pvolok/mprocs`
  Installing mprocs v0.6.4 (https://github.com/pvolok/mprocs#6a7bb23e)
    Updating crates.io index
warning: package `ahash v0.7.6` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
warning: package `hermit-abi v0.3.1` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
warning: package `rustix v0.38.33` in Cargo.lock is yanked in registry `crates-io`, consider running without --locked
  Downloaded aho-corasick v0.7.18
  Downloaded anstyle-query v1.0.0
  Downloaded anstyle-parse v0.2.1
  Downloaded anstyle v1.0.1
  Downloaded parking_lot v0.12.0
  Downloaded futures-macro v0.3.28
  Downloaded futures v0.3.28
  Downloaded pest_derive v2.5.2
  Downloaded ordered-float v2.10.0
  Downloaded which v4.4.0
  Downloaded unicode-width v0.1.10
  Downloaded thiserror-impl v1.0.38
  Downloaded vte v0.11.0
  Downloaded siphasher v0.3.10
  Downloaded tokio-macros v1.8.0
  Downloaded rustversion v1.0.12
  Downloaded log v0.4.19
  Downloaded thiserror v1.0.38
  Downloaded wezterm-bidi v0.2.2
  Downloaded unicode-ident v1.0.8
  Downloaded tempfile v3.8.0
  Downloaded tracing-core v0.1.31
  Downloaded socket2 v0.4.4
  Downloaded ucd-trie v0.1.5
  Downloaded ordered-float v3.4.0
  Downloaded rand_core v0.6.3
  Downloaded mlua-sys v0.3.2
  Downloaded anstyle-wincon v1.0.1
  Downloaded indoc v2.0.3
  Downloaded serde_yaml v0.9.25
  Downloaded pest_meta v2.5.2
  Downloaded pin-project-lite v0.2.7
  Downloaded io-lifetimes v1.0.9
  Downloaded unsafe-libyaml v0.2.7
  Downloaded clap_builder v4.3.19
  Downloaded unicode-segmentation v1.10.1
  Downloaded tokio-util v0.7.8
  Downloaded serde v1.0.178
  Downloaded chrono v0.4.24
  Downloaded bstr v1.6.0
  Downloaded hashbrown v0.14.0
  Downloaded futures-util v0.3.28
  Downloaded syn v2.0.32
  Downloaded nix v0.24.2
  Downloaded serde_derive v1.0.178
  Downloaded mlua v0.9.0
  Downloaded regex v1.6.0
  Downloaded erased-serde v0.3.23
  Downloaded pest_generator v2.5.2
  Downloaded filedescriptor v0.8.1
  Downloaded pest v2.5.2
  Downloaded base64 v0.21.2
  Downloaded tracing v0.1.35
  Downloaded proc-macro2 v1.0.66
  Downloaded mio v0.8.5
  Downloaded typenum v1.16.0
  Downloaded tokio v1.22.0
  Downloaded lua-src v546.0.0
  Downloaded memchr v2.4.1
  Downloaded luajit-src v210.4.8+resty107baaf
  Downloaded cc v1.0.73
  Downloaded smallvec v1.8.1
  Downloaded slab v0.4.5
  Downloaded sha1 v0.10.5
  Downloaded ryu v1.0.9
  Downloaded deltae v0.3.0
  Downloaded quote v1.0.32
  Downloaded phf_generator v0.11.1
  Downloaded clap v4.3.19
  Downloaded anyhow v1.0.72
  Downloaded lock_api v0.4.7
  Downloaded is-terminal v0.4.5
  Downloaded getrandom v0.2.6
  Downloaded futures-channel v0.3.28
  Downloaded itoa v1.0.1
  Downloaded futures-task v0.3.28
  Downloaded num_cpus v1.13.0
  Downloaded futures-sink v0.3.28
  Downloaded futures-io v0.3.28
  Downloaded futures-executor v0.3.28
  Downloaded futures-core v0.3.28
  Downloaded clap_lex v0.5.0
  Downloaded block-buffer v0.10.3
  Downloaded 83 crates (9.2 MB) in 6.73s (largest was `deltae` at 2.1 MB)
   Compiling proc-macro2 v1.0.66
   Compiling unicode-ident v1.0.8
   Compiling autocfg v1.1.0
   Compiling syn v1.0.109
   Compiling cfg-if v1.0.0
   Compiling thiserror v1.0.38
   Compiling winapi v0.3.9
   Compiling serde v1.0.178
   Compiling version_check v0.9.4
   Compiling memchr v2.4.1
   Compiling once_cell v1.19.0
   Compiling windows_x86_64_msvc v0.48.0
   Compiling libc v0.2.153
   Compiling windows_x86_64_msvc v0.42.2
   Compiling log v0.4.19
   Compiling siphasher v0.3.10
   Compiling rand_core v0.6.3
   Compiling futures-core v0.3.28
   Compiling windows_x86_64_msvc v0.36.1
   Compiling cc v1.0.73
   Compiling typenum v1.16.0
   Compiling generic-array v0.14.6
   Compiling strsim v0.10.0
   Compiling parking_lot_core v0.9.3
   Compiling phf_shared v0.11.2
   Compiling rand v0.8.5
   Compiling ahash v0.8.11
   Compiling num-traits v0.2.15
   Compiling lock_api v0.4.7
   Compiling smallvec v1.8.1
   Compiling scopeguard v1.2.0
   Compiling rustversion v1.0.12
   Compiling utf8parse v0.2.1
   Compiling zerocopy v0.7.32
   Compiling io-lifetimes v1.0.9
   Compiling windows-targets v0.42.2
   Compiling windows-sys v0.36.1
   Compiling windows-targets v0.48.1
   Compiling either v1.11.0
   Compiling futures-channel v0.3.28
   Compiling allocator-api2 v0.2.18
   Compiling quote v1.0.32
   Compiling pin-project-lite v0.2.7
   Compiling ucd-trie v0.1.5
   Compiling windows_x86_64_msvc v0.52.5
   Compiling lazy_static v1.4.0
   Compiling windows-sys v0.45.0
   Compiling windows-sys v0.48.0
   Compiling futures-task v0.3.28
   Compiling phf_codegen v0.11.2
   Compiling futures-sink v0.3.28
   Compiling which v4.4.0
   Compiling bitflags v1.3.2
   Compiling anyhow v1.0.72
   Compiling futures-util v0.3.28
   Compiling syn v2.0.32
   Compiling terminfo v0.8.0
   Compiling aho-corasick v0.7.18
   Compiling lua-src v546.0.0
   Compiling memoffset v0.6.5
   Compiling num-integer v0.1.45
   Compiling ordered-float v4.2.0
   Compiling hashbrown v0.14.0
   Compiling luajit-src v210.4.8+resty107baaf
   Compiling ordered-float v3.4.0
   Compiling getrandom v0.2.6
   Compiling pin-utils v0.1.0
   Compiling heck v0.4.1
   Compiling cpufeatures v0.2.5
   Compiling lab v0.11.0
   Compiling pkg-config v0.3.25
   Compiling anstyle v1.0.1
   Compiling atomic v0.5.3
   Compiling parking_lot v0.12.0
   Compiling minimal-lexical v0.2.1
   Compiling ryu v1.0.9
   Compiling itoa v1.0.1
   Compiling futures-io v0.3.28
   Compiling slab v0.4.5
   Compiling bit-vec v0.6.3
   Compiling block-buffer v0.10.3
   Compiling crypto-common v0.1.6
   Compiling paste v1.0.14
   Compiling regex-syntax v0.6.27
   Compiling nom v7.1.3
   Compiling bit-set v0.5.3
   Compiling is-terminal v0.4.5
   Compiling crossterm_winapi v0.9.1
   Compiling dirs-sys v0.3.7
   Compiling mac_address v1.1.5
   Compiling digest v0.10.7
   Compiling anstyle-wincon v1.0.1
   Compiling anstyle-query v1.0.0
   Compiling windows-targets v0.52.5
   Compiling mlua-sys v0.3.2
   Compiling euclid v0.22.9
   Compiling castaway v0.2.2
   Compiling serial-core v0.4.0
   Compiling windows-sys v0.42.0
   Compiling dirs v4.0.0
   Compiling sha2 v0.10.8
   Compiling anstyle-parse v0.2.1
   Compiling backtrace v0.3.69
   Compiling tokio v1.22.0
   Compiling static_assertions v1.1.0
   Compiling thiserror-impl v1.0.38
   Compiling wezterm-dynamic-derive v0.1.0
   Compiling unicode-width v0.1.10
   Compiling unicode-segmentation v1.10.1
   Compiling winreg v0.10.1
   Compiling colorchoice v1.0.0
   Compiling fnv v1.0.7
   Compiling fastrand v2.0.2
   Compiling deltae v0.3.0
   Compiling serde_derive v1.0.178
   Compiling phf_macros v0.11.2
   Compiling futures-macro v0.3.28
   Compiling strum_macros v0.26.2
   Compiling erased-serde v0.3.23
   Compiling anstream v0.3.2
   Compiling serial-windows v0.4.0
   Compiling stability v0.2.0
   Compiling tempfile v3.8.0
   Compiling windows-sys v0.52.0
   Compiling num-derive v0.3.3
   Compiling phf v0.11.2
   Compiling tokio-macros v1.8.0
   Compiling socket2 v0.4.4
   Compiling regex v1.6.0
   Compiling strum v0.26.2
   Compiling mio v0.8.5
   Compiling itertools v0.12.1
   Compiling lru v0.12.3
   Compiling ordered-float v2.10.0
   Compiling pest v2.5.2
   Compiling wezterm-dynamic v0.2.0
   Compiling csscolorparser v0.6.2
   Compiling wezterm-dynamic v0.1.0
   Compiling filedescriptor v0.8.1
   Compiling vte_generate_state_changes v0.1.1
   Compiling num_cpus v1.13.0
   Compiling vtparse v0.6.2
   Compiling tracing-core v0.1.31
   Compiling equivalent v1.0.1
   Compiling arrayvec v0.7.2
   Compiling memmem v0.1.1
   Compiling fixedbitset v0.4.2
   Compiling cassowary v0.3.0
   Compiling base64 v0.21.2
   Compiling hex v0.4.3
   Compiling indoc v2.0.3
   Compiling clap_lex v0.5.0
   Compiling finl_unicode v1.2.0
   Compiling bytes v1.5.0
   Compiling rustc-demangle v0.1.23
   Compiling chrono v0.4.24
   Compiling nix v0.24.2
   Compiling home v0.5.9
   Compiling serial v0.4.0
   Compiling vte v0.11.0
   Compiling wezterm-bidi v0.2.2
   Compiling clap_builder v4.3.19
   Compiling pest_meta v2.5.2
   Compiling semver-parser v0.10.2
   Compiling nu-ansi-term v0.49.0
   Compiling shared_library v0.1.9
   Compiling bstr v1.6.0
   Compiling tracing v0.1.35
   Compiling error-code v3.2.0
   Compiling winsafe v0.0.19
   Compiling unsafe-libyaml v0.2.7
   Compiling glob v0.3.0
   Compiling rustc-hash v1.1.0
   Compiling downcast-rs v1.2.0
   Compiling shell-words v1.1.0
   Compiling clipboard-win v5.3.1
   Compiling dunce v1.0.4
   Compiling xdg v2.5.2
   Compiling assert_matches v1.5.0
   Compiling which v6.0.1
   Compiling base64 v0.22.0
   Compiling mprocs-pty v0.1.0 (C:\Users\ךינשגכהד\.cargo\git\checkouts\mprocs-a102978086c9d6c3\6a7bb23\vendor\pty)
   Compiling triggered v0.1.2
   Compiling pest_generator v2.5.2
   Compiling log-panics v2.1.0
   Compiling flexi_logger v0.28.0
   Compiling futures-executor v0.3.28
   Compiling semver v0.11.0
   Compiling futures v0.3.28
   Compiling pest_derive v2.5.2
   Compiling bitflags v2.5.0
   Compiling uuid v1.8.0
   Compiling wezterm-color-types v0.3.0
   Compiling wezterm-input-types v0.1.0
   Compiling compact_str v0.7.1
   Compiling serde-value v0.7.0
   Compiling indexmap v2.0.0
   Compiling bincode v1.3.3
   Compiling fancy-regex v0.11.0
   Compiling crossterm v0.27.0
   Compiling wezterm-blob-leases v0.1.0
   Compiling serde_yaml v0.9.25
   Compiling termwiz v0.22.0
   Compiling ratatui v0.26.2
   Compiling tui-input v0.8.0
   Compiling clap v4.3.19
   Compiling tokio-util v0.7.8
   Compiling mlua v0.9.0
   Compiling mprocs-vt100 v0.1.1 (C:\Users\ךינשגכהד\.cargo\git\checkouts\mprocs-a102978086c9d6c3\6a7bb23\vendor\vt100)
   Compiling mprocs v0.6.4 (C:\Users\ךינשגכהד\.cargo\git\checkouts\mprocs-a102978086c9d6c3\6a7bb23\src)
warning: unused import: `connect_client_socket`
 --> src\host\socket.rs:4:45
  |
4 | pub use self::windows::{bind_server_socket, connect_client_socket};
  |
            ^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `start_kernel_process`
  --> src\main.rs:32:11
   |
32 | use app::{start_kernel_process, start_kernel_thread};
   |           ^^^^^^^^^^^^^^^^^^^^

warning: unused import: `Command`
  --> src\main.rs:33:38
   |
33 | use clap::{arg, command, ArgMatches, Command};
   |
      ^^^^^^^

error[E0308]: mismatched types
   --> src\host\socket.rs:176:35
    |
176 |       let sender = MsgSender::new(write);
    |                    -------------- ^^^^^ expected `UnboundedSender<_>`, found `OwnedWriteHalf`
    |                    |
    |                    arguments to this function are incorrect
    |
    = note: expected struct `tokio::sync::mpsc::UnboundedSender<_>`
               found struct `OwnedWriteHalf`
note: associated function defined here
   --> src\host\sender.rs:14:10
    |
14  |   pub fn new(sender: tokio::sync::mpsc::UnboundedSender<T>) -> Self {
    |          ^^^ ---------------------------------------------

error[E0308]: mismatched types
   --> src\host\socket.rs:177:39
    |
177 |       let receiver = MsgReceiver::new(read);
    |                      ---------------- ^^^^ expected `UnboundedReceiver<_>`, found `OwnedReadHalf`
    |                      |
    |                      arguments to this function are incorrect
    |
    = note: expected struct `tokio::sync::mpsc::UnboundedReceiver<_>`
               found struct `OwnedReadHalf`
note: associated function defined here
   --> src\host\receiver.rs:77:10
    |
77  |   pub fn new(receiver: tokio::sync::mpsc::UnboundedReceiver<T>) ->...
    |          ^^^ -------------------------------------------------

error[E0308]: mismatched types
   --> src\host\socket.rs:204:39
    |
204 |           let sender = MsgSender::new(write);
    |                        -------------- ^^^^^ expected `UnboundedSender<_>`, found `OwnedWriteHalf`
    |                        |
    |                        arguments to this function are incorrect
    |
    = note: expected struct `tokio::sync::mpsc::UnboundedSender<_>`
               found struct `OwnedWriteHalf`
note: associated function defined here
   --> src\host\sender.rs:14:10
    |
14  |   pub fn new(sender: tokio::sync::mpsc::UnboundedSender<T>) -> Self {
    |          ^^^ ---------------------------------------------

error[E0308]: mismatched types
   --> src\host\socket.rs:205:43
    |
205 |           let receiver = MsgReceiver::new(read);
    |                          ---------------- ^^^^ expected `UnboundedReceiver<_>`, found `OwnedReadHalf`
    |                          |
    |                          arguments to this function are incorrect
    |
    = note: expected struct `tokio::sync::mpsc::UnboundedReceiver<_>`
               found struct `OwnedReadHalf`
note: associated function defined here
   --> src\host\receiver.rs:77:10
    |
77  |   pub fn new(receiver: tokio::sync::mpsc::UnboundedReceiver<T>) ->...
    |          ^^^ -------------------------------------------------

warning: unused variable: `client_id`
   --> src\app.rs:443:26
    |
443 |       AppEvent::Detach { client_id } => {
    |                          ^^^^^^^^^ help: try ignoring the field: `client_id: _`
    |
    = note: `#[warn(unused_variables)]` on by default

For more information about this error, try `rustc --explain E0308`.
warning: `mprocs` (bin "mprocs") generated 4 warnings
error: could not compile `mprocs` (bin "mprocs") due to 4 previous errors; 4 warnings emitted
error: failed to compile `mprocs v0.6.4 (https://github.com/pvolok/mprocs#6a7bb23e)`, intermediate artifacts can be found at `C:\Users\0BAC~1\AppData\Local\Temp\cargo-installQNfxwP`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
pvolok commented 3 months ago

In the latest commit I made some changes but still didn't fix it on Windows yet.

pvolok commented 3 months ago

Now master builds on Windows.