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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions