qkzk / fm

dired/ranger like file manager
Other
14 stars 0 forks source link

Failed to compile on MacOS when `cargo install fm-tui` #77

Closed failable closed 1 year ago

failable commented 1 year ago

The error looks like

error[E0369]: binary operation `!=` cannot be applied to type `Option<&sysinfo::Disk>`
    --> /Users/User/.cargo/registry/src/github.com-1ecc6299db9ec823/fm-tui-0.1.20/src/event_exec.rs:1510:34
     |
1510 |             if trash_mount_point != origin_mount_point {
     |                ----------------- ^^ ------------------ Option<&sysinfo::Disk>
     |                |
     |                Option<&sysinfo::Disk>

For more information about this error, try `rustc --explain E0369`.
error: could not compile `fm-tui` due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `fm-tui v0.1.20`, intermediate artifacts can be found at `/var/folders/jd/0nmjhl0d5ns0qmpktsvk6nmc0000gn/T/cargo-installO30gGo`
qkzk commented 1 year ago

Hello,

I can't replicate this... This version compiles correctly and I can install the application with no error.

You may have an obsolete version of something. May be cargo update then cargo install fm-tui will fix it.

failable commented 1 year ago

Hi, I'm using cargo 1.69.0 (6e9a83356 2023-04-12). I tried the latest nightly channel (rustc 1.71.0-nightly (e77366b57 2023-05-16)) just now, but still the error was same. Are these versions too new?

  Installing fm-tui v0.1.20 (/Users/User/Downloads/fm)
    Updating crates.io index
  Downloaded darling v0.10.2
  Downloaded log-mdc v0.1.0
  Downloaded darling_macro v0.10.2
  Downloaded filetime v0.2.21
  Downloaded iovec v0.1.4
  Downloaded jobserver v0.1.26
  Downloaded crossbeam-epoch v0.9.14
  Downloaded linked-hash-map v0.5.3
  Downloaded objc_id v0.1.1
  Downloaded nix v0.23.2
  Downloaded ordered-float v2.10.0
  Downloaded parity-tokio-ipc v0.9.0
  Downloaded arrayvec v0.5.2
  Downloaded pom v3.2.0
  Downloaded strsim v0.9.3
  Downloaded miniz_oxide v0.7.1
  Downloaded quote v1.0.27
  Downloaded plist v1.4.3
  Downloaded subtle v2.4.1
  Downloaded termcolor v1.2.0
  Downloaded strsim v0.8.0
  Downloaded rmpv v1.0.0
  Downloaded term v0.7.0
  Downloaded time v0.1.45
  Downloaded tokio-util v0.6.10
  Downloaded serde_yaml v0.9.21
  Downloaded url-escape v0.1.1
  Downloaded unsafe-libyaml v0.2.8
  Downloaded time-core v0.1.1
  Downloaded time-macros-impl v0.1.2
  Downloaded vec_map v0.8.2
  Downloaded time-macros v0.1.1
  Downloaded shellexpand v2.1.2
  Downloaded quick-xml v0.28.2
  Downloaded sanitize-filename v0.4.0
  Downloaded time v0.3.21
  Downloaded sysinfo v0.26.9
  Downloaded weezl v0.1.7
  Downloaded typemap-ors v1.0.0
  Downloaded tuikit v0.5.0
  Downloaded zip v0.6.6
  Downloaded vte v0.11.0
  Downloaded unsafe-any-ors v1.0.0
  Downloaded xattr v0.2.3
  Downloaded proc-macro2 v1.0.58
  Downloaded time-macros v0.2.9
  Downloaded time v0.2.27
  Downloaded walkdir v2.3.3
  Downloaded rayon-core v1.11.0
  Downloaded unicode-width v0.1.10
  Downloaded same-file v1.0.6
  Downloaded tokio v1.28.1
  Downloaded dirs v4.0.0
  Downloaded humantime v2.1.0
  Downloaded crossbeam-queue v0.3.8
  Downloaded const_fn v0.4.9
  Downloaded memoffset v0.8.0
  Downloaded crossbeam-deque v0.8.3
  Downloaded rayon v1.7.0
  Downloaded serde-value v0.7.0
  Downloaded tar v0.4.38
  Downloaded serde v1.0.163
  Downloaded thread-id v4.1.0
  Downloaded tokio-io v0.1.13
  Downloaded content_inspector v0.2.4
  Downloaded textwrap v0.11.0
  Downloaded derive_builder_core v0.9.0
  Downloaded zstd-safe v5.0.2+zstd.1.5.2
  Downloaded password-hash v0.4.2
  Downloaded zstd v0.11.2+zstd.1.5.2
  Downloaded yaml-rust v0.4.5
  Downloaded rustix v0.37.19
  Downloaded portable-atomic v1.3.2
  Downloaded aho-corasick v1.0.1
  Downloaded bincode v1.3.3
  Downloaded base64ct v1.6.0
  Downloaded aes v0.8.2
  Downloaded block v0.1.6
  Downloaded bzip2 v0.4.4
  Downloaded bytes v0.4.12
  Downloaded console v0.15.5
  Downloaded derivative v2.2.0
  Downloaded defer-drop v1.3.0
  Downloaded destructure_traitobject v0.2.0
  Downloaded copypasta v0.8.2
  Downloaded syn v2.0.16
  Downloaded shlex v0.1.1
  Downloaded getrandom v0.1.16
  Downloaded encoding-index-simpchinese v1.20141219.5
  Downloaded proc-macro-hack v0.5.20+deprecated
  Downloaded ansi_term v0.12.1
  Downloaded users v0.11.0
  Downloaded encoding-index-singlebyte v1.20141219.5
  Downloaded standback v0.2.17
  Downloaded encoding-index-korean v1.20141219.5
  Downloaded env_logger v0.8.4
  Downloaded fs_extra v1.3.0
  Downloaded euclid v0.20.14
  Downloaded encoding-index-tradchinese v1.20141219.5
  Downloaded filedescriptor v0.8.2
  Downloaded encoding v0.2.33
  Downloaded gag v1.0.0
  Downloaded libc v0.2.144
  Downloaded log4rs v1.2.0
  Downloaded zstd-sys v2.0.8+zstd.1.5.5
  Downloaded ueberzug v0.1.0
  Downloaded vt100 v0.15.2
  Downloaded vte_generate_state_changes v0.1.1
  Downloaded objc-foundation v0.1.1
  Downloaded serde_yaml v0.8.26
  Downloaded cipher v0.4.4
  Downloaded beef v0.5.2
  Downloaded constant_time_eq v0.1.5
  Downloaded clap v2.34.0
  Downloaded darling_core v0.10.2
  Downloaded dirs-sys-next v0.1.2
  Downloaded dirs-next v2.0.0
  Downloaded inout v0.1.3
  Downloaded pbkdf2 v0.11.0
  Downloaded hmac v0.12.1
  Downloaded encoding_index_tests v0.1.4
  Downloaded encoding-index-japanese v1.20141219.5
  Downloaded futures v0.1.31
  Downloaded onig v6.4.0
  Downloaded portable-atomic v0.3.20
  Downloaded nix v0.24.3
  Downloaded malloc_buf v0.0.6
  Downloaded pathdiff v0.2.1
  Downloaded line-wrap v0.1.1
  Downloaded fuzzy-matcher v0.3.7
  Downloaded objc v0.2.7
  Downloaded indicatif v0.17.3
  Downloaded adler v1.0.2
  Downloaded crossbeam v0.8.2
  Downloaded crc32fast v1.3.2
  Downloaded number_prefix v0.4.0
  Downloaded dirs-sys v0.3.7
  Downloaded arc-swap v1.6.0
  Downloaded bzip2-sys v0.1.11+1.0.8
  Downloaded onig_sys v69.8.1
  Downloaded syntect v5.0.0
  Downloaded memoffset v0.6.5
  Downloaded flate2 v1.0.26
  Downloaded serde_derive v1.0.163
  Downloaded sha2 v0.10.6
  Downloaded pkg-config v0.3.27
  Downloaded rust-lzma v0.5.1
  Downloaded timer v0.2.0
  Downloaded adobe-cmap-parser v0.3.3
  Downloaded type1-encoding-parser v0.1.0
  Downloaded derive_builder v0.9.0
  Downloaded postscript v0.14.1
  Downloaded vte v0.9.0
  Downloaded skim-qkzk v0.9.12
  Downloaded pdf-extract v0.6.5
  Downloaded pom v1.1.0
  Downloaded nvim-rs v0.3.1
  Downloaded lopdf v0.29.0
  Downloaded 158 crates (17.9 MB) in 15.09s (largest was `lopdf` at 7.0 MB)
   Compiling libc v0.2.144
   Compiling cfg-if v1.0.0
   Compiling proc-macro2 v1.0.58
   Compiling unicode-ident v1.0.8
   Compiling quote v1.0.27
   Compiling autocfg v1.1.0
   Compiling serde v1.0.163
   Compiling version_check v0.9.4
   Compiling log v0.4.17
   Compiling pkg-config v0.3.27
   Compiling syn v1.0.109
   Compiling memchr v2.5.0
   Compiling typenum v1.16.0
   Compiling scopeguard v1.1.0
   Compiling bitflags v1.3.2
   Compiling num-traits v0.2.15
   Compiling generic-array v0.14.7
   Compiling crossbeam-utils v0.8.15
   Compiling itoa v1.0.6
   Compiling byteorder v1.4.3
   Compiling memoffset v0.8.0
   Compiling io-lifetimes v1.0.10
   Compiling futures-core v0.3.28
   Compiling utf8parse v0.2.1
   Compiling jobserver v0.1.26
   Compiling cc v1.0.79
   Compiling num_cpus v1.15.0
   Compiling crossbeam-epoch v0.9.14
   Compiling lock_api v0.4.9
   Compiling standback v0.2.17
   Compiling parking_lot_core v0.9.7
   Compiling syn v2.0.16
   Compiling encoding_index_tests v0.1.4
   Compiling rustix v0.37.19
   Compiling proc-macro-hack v0.5.20+deprecated
   Compiling iovec v0.1.4
   Compiling errno v0.3.1
   Compiling slab v0.4.8
   Compiling indexmap v1.9.3
   Compiling crc32fast v1.3.2
   Compiling smallvec v1.10.0
   Compiling subtle v2.4.1
   Compiling getrandom v0.1.16
   Compiling futures-channel v0.3.28
   Compiling once_cell v1.17.1
   Compiling futures-sink v0.3.28
   Compiling pin-project-lite v0.2.9
   Compiling futures-task v0.3.28
   Compiling unicode-width v0.1.10
   Compiling zstd-sys v2.0.8+zstd.1.5.5
   Compiling bytes v0.4.12
   Compiling crypto-common v0.1.6
   Compiling block-buffer v0.10.4
   Compiling crossbeam-channel v0.5.8
   Compiling getrandom v0.2.9
   Compiling num-integer v0.1.45
   Compiling futures v0.1.31
   Compiling ident_case v1.0.1
   Compiling hashbrown v0.12.3
   Compiling thiserror v1.0.40
   Compiling adler v1.0.2
   Compiling core-foundation-sys v0.8.4
   Compiling ppv-lite86 v0.2.17
   Compiling futures-io v0.3.28
   Compiling const_fn v0.4.9
   Compiling futures-util v0.3.28
   Compiling strsim v0.9.3
   Compiling lazy_static v1.4.0
   Compiling fnv v1.0.7
   Compiling linked-hash-map v0.5.3
   Compiling miniz_oxide v0.7.1
   Compiling rand_core v0.6.4
   Compiling digest v0.10.6
   Compiling crossbeam-deque v0.8.3
   Compiling parking_lot v0.12.1
   Compiling vte_generate_state_changes v0.1.1
   Compiling tokio v1.28.1
   Compiling time v0.2.27
   Compiling rayon-core v1.11.0
   Compiling cpufeatures v0.2.7
   Compiling paste v1.0.12
   Compiling ryu v1.0.13
   Compiling pin-utils v0.1.0
   Compiling rand_core v0.5.1
   Compiling flate2 v1.0.26
   Compiling iana-time-zone v0.1.56
   Compiling onig_sys v69.8.1
   Compiling bzip2-sys v0.1.11+1.0.8
   Compiling malloc_buf v0.0.6
   Compiling socket2 v0.4.9
   Compiling dirs-sys-next v0.1.2
   Compiling signal-hook-registry v1.4.1
   Compiling time v0.1.45
   Compiling aho-corasick v1.0.1
   Compiling dirs-sys v0.3.7
   Compiling memoffset v0.6.5
   Compiling heck v0.4.1
   Compiling rustversion v1.0.12
   Compiling regex-syntax v0.7.1
   Compiling time-core v0.1.1
   Compiling portable-atomic v1.3.2
   Compiling serde_json v1.0.96
   Compiling bytes v1.4.0
   Compiling zstd-safe v5.0.2+zstd.1.5.2
   Compiling crossbeam-queue v0.3.8
   Compiling time v0.3.21
   Compiling chrono v0.4.24
   Compiling dirs v4.0.0
   Compiling darling_core v0.10.2
   Compiling dirs-next v2.0.0
   Compiling objc v0.2.7
   Compiling rand_chacha v0.2.2
   Compiling is-terminal v0.4.7
   Compiling yaml-rust v0.4.5
   Compiling inout v0.1.3
   Compiling encoding-index-korean v1.20141219.5
   Compiling encoding-index-simpchinese v1.20141219.5
   Compiling encoding-index-japanese v1.20141219.5
   Compiling encoding-index-tradchinese v1.20141219.5
   Compiling encoding-index-singlebyte v1.20141219.5
   Compiling serde_derive v1.0.163
   Compiling thiserror-impl v1.0.40
   Compiling futures-macro v0.3.28
   Compiling tokio-macros v2.1.0
   Compiling regex v1.8.1
   Compiling atty v0.2.14
   Compiling anstyle-parse v0.2.0
   Compiling base64ct v1.6.0
   Compiling humantime v2.1.0
   Compiling time-macros-impl v0.1.2
   Compiling darling_macro v0.10.2
   Compiling colorchoice v1.0.0
   Compiling safemem v0.3.3
   Compiling arrayvec v0.7.2
   Compiling destructure_traitobject v0.2.0
   Compiling pom v1.1.0
   Compiling async-trait v0.1.68
   Compiling anstyle-query v1.0.0
   Compiling anyhow v1.0.71
   Compiling portable-atomic v0.3.20
   Compiling either v1.8.1
   Compiling darling v0.10.2
   Compiling derive_builder v0.9.0
   Compiling anstyle v1.0.0
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.6.0
   Compiling derive_builder_core v0.9.0
   Compiling anstream v0.3.2
   Compiling rayon v1.7.0
   Compiling time-macros v0.1.1
   Compiling vte v0.11.0
   Compiling unsafe-any-ors v1.0.0
   Compiling line-wrap v0.1.1
   Compiling password-hash v0.4.2
   Compiling encoding v0.2.33
   Compiling rand v0.7.3
   Compiling cipher v0.4.4
   Compiling rmp v0.8.11
   Compiling objc_id v0.1.1
   Compiling term v0.7.0
   Compiling shellexpand v2.1.2
   Compiling sha2 v0.10.6
   Compiling hmac v0.12.1
   Compiling thread_local v1.1.7
   Compiling textwrap v0.11.0
   Compiling ordered-float v2.10.0
   Compiling nix v0.24.3
   Compiling quick-xml v0.28.2
   Compiling rust-lzma v0.5.1
   Compiling pom v3.2.0
   Compiling ansi_term v0.12.1
   Compiling same-file v1.0.6
   Compiling arrayvec v0.5.2
   Compiling strsim v0.8.0
   Compiling block v0.1.6
   Compiling weezl v0.1.7
   Compiling fs_extra v1.3.0
   Compiling base64 v0.21.0
   Compiling vec_map v0.8.2
   Compiling fastrand v1.9.0
   Compiling clap_lex v0.4.1
   Compiling strsim v0.10.0
   Compiling nvim-rs v0.3.1
   Compiling termcolor v1.2.0
   Compiling clap_builder v4.2.7
   Compiling fm-tui v0.1.20 (/Users/User/Downloads/fm)
   Compiling tempfile v3.5.0
   Compiling clap v2.34.0
   Compiling objc-foundation v0.1.1
   Compiling vte v0.9.0
   Compiling walkdir v2.3.3
   Compiling strum_macros v0.24.3
   Compiling pbkdf2 v0.11.0
   Compiling fuzzy-matcher v0.3.7
   Compiling nix v0.23.2
   Compiling rmpv v1.0.0
   Compiling crossbeam v0.8.2
   Compiling unicode-normalization v0.1.22
   Compiling aes v0.8.2
   Compiling typemap-ors v1.0.0
   Compiling type1-encoding-parser v0.1.0
   Compiling adobe-cmap-parser v0.3.3
   Compiling filedescriptor v0.8.2
   Compiling derivative v2.2.0
   Compiling clap_derive v4.2.0
   Compiling timer v0.2.0
   Compiling sha1 v0.10.5
   Compiling rand_chacha v0.3.1
   Compiling defer-drop v1.3.0
   Compiling console v0.15.5
   Compiling euclid v0.20.14
   Compiling filetime v0.2.21
   Compiling xattr v0.2.3
   Compiling thread-id v4.1.0
   Compiling constant_time_eq v0.1.5
   Compiling unsafe-libyaml v0.2.8
   Compiling regex-syntax v0.6.29
   Compiling percent-encoding v2.2.0
   Compiling shlex v0.1.1
   Compiling arc-swap v1.6.0
   Compiling log-mdc v0.1.0
   Compiling postscript v0.14.1
   Compiling number_prefix v0.4.0
   Compiling beef v0.5.2
   Compiling url-escape v0.1.1
   Compiling tar v0.4.38
   Compiling rand v0.8.5
   Compiling strum v0.24.1
   Compiling tokio-io v0.1.13
   Compiling mio v0.8.6
   Compiling lopdf v0.29.0
   Compiling env_logger v0.8.4
   Compiling tuikit v0.5.0
   Compiling vt100 v0.15.2
   Compiling serde_yaml v0.8.26
   Compiling plist v1.4.3
   Compiling serde-value v0.7.0
   Compiling bincode v1.3.3
   Compiling pdf-extract v0.6.5
   Compiling log4rs v1.2.0
   Compiling skim-qkzk v0.9.12
   Compiling indicatif v0.17.3
   Compiling clap v4.2.7
   Compiling users v0.11.0
   Compiling serde_yaml v0.9.21
   Compiling gag v1.0.0
   Compiling sysinfo v0.26.9
   Compiling copypasta v0.8.2
   Compiling futures-executor v0.3.28
   Compiling futures v0.3.28
   Compiling sanitize-filename v0.4.0
   Compiling content_inspector v0.2.4
   Compiling pathdiff v0.2.1
   Compiling ueberzug v0.1.0
   Compiling strfmt v0.2.4
   Compiling parity-tokio-ipc v0.9.0
   Compiling tokio-util v0.6.10
   Compiling bzip2 v0.4.4
   Compiling onig v6.4.0
   Compiling syntect v5.0.0
   Compiling zstd v0.11.2+zstd.1.5.2
   Compiling zip v0.6.6
error[E0369]: binary operation `!=` cannot be applied to type `Option<&sysinfo::Disk>`
    --> src/event_exec.rs:1510:34
     |
1510 |             if trash_mount_point != origin_mount_point {
     |                ----------------- ^^ ------------------ Option<&sysinfo::Disk>
     |                |
     |                Option<&sysinfo::Disk>

For more information about this error, try `rustc --explain E0369`.
error: could not compile `fm-tui` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `fm-tui v0.1.20 (/Users/User/Downloads/fm)`, intermediate artifacts can be found at `/Users/User/Downloads/fm/target`
qkzk commented 1 year ago

I wonder... what platform are you using ?

Disk doesn't implement PartialEq on every platform.

I guess that's why I have no problem on Linux.

failable commented 1 year ago

Hi, I'm on macOS 13.2.1 (22D68).

qkzk commented 1 year ago

I'll fix it in the next version.

I can't test it on another platform, there may be many other bugs.

qkzk commented 1 year ago

The version 0.1.21 might compile on MacOS. I can't be sure since I don't have a mac.

failable commented 1 year ago

@qkzk Thanks, it complies successfully now.