Skip to content

Can't compile on Linux (Ubuntu 22) #172

@KShivendu

Description

@KShivendu

Hey, thanks for creating this crate!

I'm using Ubuntu 22. And apparently the source code doesn't compile for me. Is there a particular version of the dependencies that I need to install to make the crate work?

scap git:(main) ✗ cargo run

error[E0599]: no variant or associated item named `RGBx` found for enum `Frame` in the current scope
   --> src/capturer/engine/linux/mod.rs:137:63
    |
137 |                 VideoFormat::RGBx => user_data.tx.send(Frame::RGBx(RGBxFrame {
    |                                                               ^^^^ variant or associated item not found in `Frame`
    |
   ::: src/frame/mod.rs:7:1
    |
7   | pub enum Frame {
    | -------------- variant or associated item `RGBx` not found for this enum

error[E0308]: mismatched types
   --> src/capturer/engine/linux/mod.rs:138:35
    |
138 |                     display_time: timestamp as u64,
    |                                   ^^^^^^^^^^^^^^^^ expected `SystemTime`, found `u64`

error[E0599]: no variant or associated item named `RGB` found for enum `Frame` in the current scope
   --> src/capturer/engine/linux/mod.rs:143:62
    |
143 |                 VideoFormat::RGB => user_data.tx.send(Frame::RGB(RGBFrame {
    |                                                              ^^^ variant or associated item not found in `Frame`
    |
   ::: src/frame/mod.rs:7:1
    |
7   | pub enum Frame {
    | -------------- variant or associated item `RGB` not found for this enum

error[E0308]: mismatched types
   --> src/capturer/engine/linux/mod.rs:144:35
    |
144 |                     display_time: timestamp as u64,
    |                                   ^^^^^^^^^^^^^^^^ expected `SystemTime`, found `u64`

error[E0599]: no variant or associated item named `XBGR` found for enum `Frame` in the current scope
   --> src/capturer/engine/linux/mod.rs:149:63
    |
149 |                 VideoFormat::xBGR => user_data.tx.send(Frame::XBGR(XBGRFrame {
    |                                                               ^^^^ variant or associated item not found in `Frame`
    |
   ::: src/frame/mod.rs:7:1
    |
7   | pub enum Frame {
    | -------------- variant or associated item `XBGR` not found for this enum

error[E0308]: mismatched types
   --> src/capturer/engine/linux/mod.rs:150:35
    |
150 |                     display_time: timestamp as u64,
    |                                   ^^^^^^^^^^^^^^^^ expected `SystemTime`, found `u64`

error[E0599]: no variant or associated item named `BGRx` found for enum `Frame` in the current scope
   --> src/capturer/engine/linux/mod.rs:155:63
    |
155 |                 VideoFormat::BGRx => user_data.tx.send(Frame::BGRx(BGRxFrame {
    |                                                               ^^^^ variant or associated item not found in `Frame`
    |
   ::: src/frame/mod.rs:7:1
    |
7   | pub enum Frame {
    | -------------- variant or associated item `BGRx` not found for this enum

error[E0308]: mismatched types
   --> src/capturer/engine/linux/mod.rs:156:35
    |
156 |                     display_time: timestamp as u64,
    |                                   ^^^^^^^^^^^^^^^^ expected `SystemTime`, found `u64`

warning: unused variable: `options`
  --> src/capturer/engine/mod.rs:23:30
   |
23 | pub fn get_output_frame_size(options: &Options) -> [u32; 2] {
   |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_options`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `target`
  --> src/targets/mod.rs:55:25
   |
55 | pub fn get_scale_factor(target: &Target) -> f64 {
   |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`

warning: unused variable: `target`
  --> src/targets/mod.rs:77:30
   |
77 | pub fn get_target_dimensions(target: &Target) -> (u64, u64) {
   |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`

Some errors have detailed explanations: E0308, E0599.
For more information about an error, try `rustc --explain E0308`.
warning: `scap` (lib) generated 5 warnings
error: could not compile `scap` (lib) due to 8 previous errors; 5 warnings emitted

I did try to fix them myself but I still end up getting a panic:

scap git:(main) ✗ cargo run

warning: `scap` (lib) generated 15 warnings (run `cargo fix --lib -p scap` to apply 3 suggestions)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.05s
     Running `target/debug/scap`

thread 'main' panicked at src/capturer/engine/linux/mod.rs:336:14:
Failed to get screencast stream: LinCapError { msg: "The user interaction was ended in some other way" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions