procs icon indicating copy to clipboard operation
procs copied to clipboard

Fails to build on FreeBSD

Open yonas opened this issue 3 years ago • 3 comments

❯ cargo install procs
...
Kareadita/Kavita)error[E0432]: unresolved import `crate::process::ProcessInfo`
 --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/column.rs:2:5
  |
2 | use crate::process::ProcessInfo;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `ProcessInfo` in `process`

error[E0432]: unresolved import `crate::columns::ConfigColumnKind`
 --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/config.rs:2:5
  |
2 | use crate::columns::ConfigColumnKind;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `ConfigColumnKind` in `columns`

error[E0432]: unresolved imports `crate::columns::ConfigColumnKind`, `crate::columns::KIND_LIST`
 --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/util.rs:2:22
  |
2 | use crate::columns::{ConfigColumnKind, KIND_LIST};
  |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^ no `KIND_LIST` in `columns`
  |                      |
  |                      no `ConfigColumnKind` in `columns`

error[E0432]: unresolved import `crate::process::collect_proc`
 --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:4:5
  |
4 | use crate::process::collect_proc;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `collect_proc` in `process`

error[E0432]: unresolved import `pager`
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:11:5
   |
11 | use pager::Pager;
   |     ^^^^^ use of undeclared crate or module `pager`

error[E0433]: failed to resolve: use of undeclared type `ConfigColumnKind`
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:35:24
   |
35 |             let kind = ConfigColumnKind::Tree;
   |                        ^^^^^^^^^^^^^^^^ use of undeclared type `ConfigColumnKind`

error[E0433]: failed to resolve: use of undeclared type `ConfigColumnKind`
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:63:17
   |
63 |                 ConfigColumnKind::Slot => {
   |                 ^^^^^^^^^^^^^^^^ use of undeclared type `ConfigColumnKind`

error[E0433]: failed to resolve: use of undeclared type `ConfigColumnKind`
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:72:17
   |
72 |                 ConfigColumnKind::MultiSlot => {
   |                 ^^^^^^^^^^^^^^^^ use of undeclared type `ConfigColumnKind`

error[E0433]: failed to resolve: use of undeclared crate or module `which`
   --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:544:19
    |
544 |         } else if which::which("less").is_ok() {
    |                   ^^^^^ use of undeclared crate or module `which`

error[E0425]: cannot find function `gen_column` in this scope
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:36:26
   |
36 |             let column = gen_column(
   |                          ^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `KIND_LIST` in this scope
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:87:37
   |
87 |                     let kind_name = KIND_LIST[&kind].0.to_lowercase();
   |                                     ^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `gen_column` in this scope
  --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:98:30
   |
98 |                 let column = gen_column(
   |                              ^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `KIND_LIST` in this scope
   --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/view.rs:487:37
    |
487 |                     let (kind, _) = KIND_LIST[&c.kind];
    |                                     ^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_DEFAULT` in this scope
   --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/main.rs:212:24
    |
212 |         toml::from_str(CONFIG_DEFAULT).unwrap()
    |                        ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `CONFIG_DEFAULT` in this scope
   --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/main.rs:298:41
    |
298 |     let config: Config = toml::from_str(CONFIG_DEFAULT).unwrap();
    |                                         ^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find value `KIND_LIST` in this scope
   --> /home/yonas/.cargo/registry/src/github.com-1ecc6299db9ec823/procs-0.12.3/src/main.rs:308:24
    |
308 |     for (_, (v, d)) in KIND_LIST.iter() {
    |                        ^^^^^^^^^ not found in this scope

Some errors have detailed explanations: E0425, E0432, E0433.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `procs` due to 16 previous errors
error: failed to compile `procs v0.12.3`, intermediate artifacts can be found at `/tmp/cargo-installIeVSMj`

yonas in 🌐 server1 in make-cd on  master [!?] via 🐍 v3.9.13 took 4m37s

❯ freebsd-version
13.1-RELEASE

yonas avatar Jul 18 '22 21:07 yonas

BSD has not been supported yet. Could you try below?

$ cargo install --git https://github.com/dalance/procs --branch bsd_support

dalance avatar Jul 19 '22 02:07 dalance

Thanks! Procs successfully compiles now, but running it shows only the table header without any processes:

❯ procs
 PID:▲ User │ TTY CPU MEM CPU Time │ Command
            │     [%] [%]          │       

Edit:

Mounting fdescfs and procfs doesn't seem to help, although it might actually be required.

sudo mount -t procfs proc /proc
sudo mount -t fdescfs fdescfs /dev/fd

yonas avatar Jul 19 '22 15:07 yonas

Thanks. More works may be required for BSD support.

dalance avatar Jul 20 '22 00:07 dalance

Thanks. More works may be required for BSD support.

Same issue here, hopeful support BSD finally:)

wisonye avatar Dec 08 '22 05:12 wisonye

@yonas @wisonye @yurivict @keltia

Hi, all. Today I released v0.14.2 which includes BSD initial support. I check only on FreeBSD 12.4. Please try it.

dalance avatar Oct 18 '23 09:10 dalance

@dalance Works for me on FreeBSD 13.2, thanks! :partying_face:

yonas avatar Oct 18 '23 16:10 yonas