InioX/matugen

Cargo Mac Installed Failed

Closed this issue · 6 comments

Hi! I saw that this project supports macOS, and I wanted to try it out. I know that reloading applications and setting the wallpaper is only supported on Linux platforms, but I wanted to see the colors it could generate from images. When attempting to install this on macOS via cargo, I get the following error:

error[E0432]: unresolved imports util::reload::reload_apps_linux, util::wallpaper::set_wallaper

Is there a way to skip these utils since they won't work on macOS at all? If not, are there alternate ways to install matugen on a macOS? Thank you!

Hi!

Was that the entire error message or was there anything else? If there was, could you please post it?

My bad! I just looked at it again, and it seems I omitted some parts of the message. Here is the entire error message I got:

error[E0432]: unresolved imports `util::reload::reload_apps_linux`, `util::wallpaper::set_wallaper`
  --> /Users/kl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/matugen-0.11.0/src/main.rs:25:12
   |
25 | use util::{reload::reload_apps_linux, wallpaper::set_wallaper};
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^ no `set_wallaper` in `util::wallpaper`
   |            |
   |            no `reload_apps_linux` in `util::reload`
   |
note: found an item that was configured out
  --> /Users/kl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/matugen-0.11.0/src/util/reload.rs:9:8
   |
9  | pub fn reload_apps_linux(args: &Cli, config: &ConfigFile) -> Result<(), Report> {
   |        ^^^^^^^^^^^^^^^^^
note: found an item that was configured out
  --> /Users/kl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/matugen-0.11.0/src/util/wallpaper.rs:12:8
   |
12 | pub fn set_wallaper(config: &ConfigFile, args: &Cli) -> Result<(), Report> {
   |        ^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0432`.
error: could not compile `matugen` (bin "matugen") due to previous error
error: failed to compile `matugen v0.11.0`, intermediate artifacts can be found at `/var/folders/gv/ff_6l8ys0mzb8bbrg2s7s5f00000gn/T/cargo-install4zYlwD`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

I hope this is helpful. Sorry for only including very little in my original post!

Could you try building again on the latest commit?

I tried it, and I got a different error this time:

warning: unused import: `config::ConfigFile`
 --> src/util/reload.rs:1:29
  |
1 | use super::{arguments::Cli, config::ConfigFile};
  |                             ^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `color_eyre::Report`
 --> src/util/wallpaper.rs:1:5
  |
1 | use color_eyre::Report;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `std::process::Command`
 --> src/util/wallpaper.rs:2:5
  |
2 | use std::process::Command;
  |     ^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `std::process::Stdio`
 --> src/util/wallpaper.rs:3:5
  |
3 | use std::process::Stdio;
  |     ^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Cli`, `ConfigFile`, `Source`, `WallpaperTool`, `reload::reload_app`
 --> src/util/wallpaper.rs:6:17
  |
6 |     arguments::{Cli, Source},
  |                 ^^^  ^^^^^^
7 |     config::{ConfigFile, WallpaperTool},
  |              ^^^^^^^^^^  ^^^^^^^^^^^^^
8 |     reload::reload_app,
  |     ^^^^^^^^^^^^^^^^^^

error[E0425]: cannot find function `reload_apps_linux` in this scope
  --> src/main.rs:74:17
   |
74 |                 reload_apps_linux(&args, &config)?;
   |                 ^^^^^^^^^^^^^^^^^ not found in this scope

error[E0425]: cannot find function `set_wallaper` in this scope
  --> src/main.rs:78:17
   |
78 |                 set_wallaper(&config, &args)?;
   |                 ^^^^^^^^^^^^ not found in this scope

For more information about this error, try `rustc --explain E0425`.
warning: `matugen` (bin "matugen") generated 5 warnings
error: could not compile `matugen` (bin "matugen") due to 2 previous errors; 5 warnings emitted
error: failed to compile `matugen v0.11.0 (https://github.com/InioX/matugen.git#196c87f2)`, intermediate artifacts can be found at `/var/folders/gv/ff_6l8ys0mzb8bbrg2s7s5f00000gn/T/cargo-installzmTz2H`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

I think I fixed it, could you please try compiling on latest commit again?

I can confirm that it works! I do get some warnings, but other than that I was able to run it and test it on an image. Thank you so much!